Bagaimana cara mengidentifikasi kotak teks kosong menggunakan jQuery? Saya ingin melakukannya dengan menggunakan selektor jika memungkinkan. Juga, saya harus memilih id karena dalam kode sebenarnya di mana saya ingin menggunakan ini, saya tidak ingin memilih semua input teks.
Dalam dua contoh kode berikut, yang pertama secara akurat menampilkan nilai yang diketikkan ke dalam kotak teks "txt2" oleh pengguna. Contoh kedua mengidentifikasi bahwa ada kotak teks kosong, tetapi jika Anda mengisinya di dalamnya masih dianggap kosong. Kenapa ini?
Bisakah ini dilakukan hanya dengan menggunakan selektor?
Kode ini melaporkan nilai di kotak teks "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>
Kode ini selalu melaporkan kotak teks "txt2" sebagai kosong:
<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>