Как определить пустые текстовые поля с помощью jQuery? Я бы хотел сделать это с помощью селекторов, если это вообще возможно. Кроме того, я должен выбрать идентификатор, так как в реальном коде, где я хочу его использовать, я не хочу выбирать все текстовые поля.
В следующих двух примерах кода первый точно отображает значение, введенное пользователем в текстовое поле «txt2». Во втором примере показано, что текстовое поле пустое, но если вы его заполните, оно все равно будет считаться пустым. Почему это?
Можно ли это сделать, используя только селекторы?
Этот код сообщает значение в текстовом поле «txt2»:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('#cmdSubmit').click(function() {
alert($('[id=txt2]').val());
});
});
</script>
</head>
<body>
<form>
<input type="text" name="txt1" id="txt1" value="123" /><br />
<input type="text" name="txt2" id="txt2" value="" /><br />
<input type="text" name="txt3" id="txt3" value="abc" /><br />
<input type="submit" name="cmdSubmit" id='cmdSubmit' value="Send" /><br />
</form>
</body>
</html>
Этот код всегда сообщает текстовое поле "txt2" как пустое:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('#cmdSubmit').click(function() {
if($('[id^=txt][value=""]').length > 0) {
if (!confirm("Are you sure you want to submit empty fields?")) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
}
}
});
});
</script>
</head>
<body>
<form>
<input type="text" name="txt1" id="txt1" value="123" /><br />
<input type="text" name="txt2" id="txt2" value="" /><br />
<input type="text" name="txt3" id="txt3" value="abc" /><br />
<input type="submit" name="cmdSubmit" id='cmdSubmit' value="Send" /><br />
</form>
</body>
</html>