JQuery kullanarak boş metin kutularını nasıl tanımlarım? Mümkünse, seçicileri kullanarak yapmak istiyorum. Ayrıca, bunu kullanmak istediğim gerçek kodda tüm metin girişlerini seçmek istemediğim için id'yi seçmeliyim.
Aşağıdaki iki kod örneğimde, birincisi, kullanıcı tarafından "txt2" metin kutusuna yazılan değeri doğru bir şekilde gösterir. İkinci örnek, boş bir metin kutusu olduğunu tanımlar, ancak onu doldurursanız, yine de boş kabul eder. Bu neden?
Bu sadece seçiciler kullanılarak yapılabilir mi?
Bu kod, "txt2" metin kutusundaki değeri bildirir:
<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>
Bu kod, "txt2" metin kutusunu her zaman boş olarak bildirir:
<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>