我正在使用JS提交表单,如果任何字段为空,我想取消提交。
我通过以下方式获取所有值:$(reviewForm).serialize()
返回类似的内容:
id=2&text=aaaa&rating=2&gender=
如果表单中的任何值为空,我该如何显示警告?
答案 0 :(得分:1)
var serialized = $(reviewForm).serialize();
if(serialized.indexOf('=&') > -1 || serialized.substr(serialized.length - 1) == '='){ //you've got empty values }
使用jQuery,您可以在序列化之前测试它:
$(reviewForm).find('input').each(function(idx, elem){
if($(elem).val().length == 0){
//this field is empty
}
});
答案 1 :(得分:1)
在提交表单之前,您可以执行以下操作。
if($(reviewForm).find('input, select, textarea').filter(function(){
return $(this).val() == '';
}).length > 0){
alert('Enter all the values');
}
else{
//Submit the form here
}
答案 2 :(得分:0)
这将检查空字段,返回字段名称的数组,并警告有多少字段为空。检查演示文稿的小提琴:http://jsfiddle.net/brentmn/Pwngn/
$('form').submit(function(){
var s = $(this).serialize();
var empty = $.grep(s.split('&'), function(field){
//get empty fields
return field.split('=')[1] === '';
}).map(function(arr){
//return field name of empty field
return arr.split('=')[0];
});
alert(empty.length + ' empty fields');
return !empty.length;
});