我有两个输入,我在检查以确保在表单提交之前它们不是空的。
我的问题是它只验证#from_date。问题是.val只会检查列表中的最后一个ID吗?
$('#submitDates').click(function () {
// Get the fields you want to validate
var name = $("#to_date, #from_date");
// Check if field is empty or not
if (name.val()=='') {
alert ('Please Select Dates')
return false;
} ;
});
});
答案 0 :(得分:2)
您在.click
而不是.submit
上挂钩的具体原因是什么?
您可以使用.each
var found = false;
$("#to_date, #from_date").each(function(i,name){
// Check if field is empty or not
if (!found && $(name).val()=='') {
alert ('Please Select Dates')
found = true;
} ;
});
return !found;
答案 1 :(得分:0)
在您的示例中,var name = $("#to_date, #from_date");
为您提供了两个输入的集合,并且通过执行if (name.val()=='')
jQuery仅检查集合中的第一个元素,因此它不起作用。你可以试试这个
$('#submitDates').click(function () {
var name = $("#to_date, #from_date");
if ( name[0].value == '' || name[1].value == '' ) {
alert ('Please Select Dates');
return false;
}
});
在上面的示例中,name[0].value
引用第一个元素,name[1].value
引用第二个元素。如果您想使用jQuery的val()
方法,那么您可以像$(name[0]).val()
和$(name[1]).val()
一样使用它。
此外,您应该考虑使用表单的submit
事件而不是按钮的点击事件。