Làm cách nào để xác định các hộp văn bản trống bằng jQuery? Tôi muốn làm điều đó bằng cách sử dụng bộ chọn nếu có thể. Ngoài ra, tôi phải chọn trên id vì trong mã thực nơi tôi muốn sử dụng, tôi không muốn chọn tất cả các đầu vào văn bản.
Trong hai ví dụ mã sau đây của tôi, ví dụ đầu tiên hiển thị chính xác giá trị được người dùng nhập vào hộp văn bản "txt2". Ví dụ thứ hai xác định rằng có một hộp văn bản trống, nhưng nếu bạn điền vào nó vẫn coi nó là trống. Tại sao thế này?
Điều này có thể được thực hiện chỉ bằng cách sử dụng bộ chọn không?
Mã này báo cáo giá trị trong hộp văn bản "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>
Mã này luôn báo cáo hộp văn bản "txt2" là trống:
<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>