Як визначити порожні текстові поля за допомогою jQuery? Я хотів би зробити це за допомогою селекторів, якщо це взагалі можливо. Крім того, я повинен вибрати на id, оскільки в реальному коді, де я хочу це використовувати, я не хочу вибирати всі текстові введення.
У наступних моїх двох прикладах коду перший з них точно відображає значення, введене користувачем у текстове поле "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>