我有一些动态生成的表格并具有不同的ID,所以我认为可能会有一些可以验证每个输入的内容,在这里我做了什么
$.fn.isBlank = function() {
var fields = $("#exp0").serialize()
alert('something');
for (var i = 0; i < fields.length; i++) {
if (fields[i].value != '') {
alert('testing');
return false;
}
}
alert('testing2');
return true;
};
但是上面的脚本不起作用我不知道为什么,即使警报也没有触发
这是完整的jQuery
$(document).on("submit", "#exp0", function(e){
e.preventDefault();
var postData = $("#exp0").serialize()
$.fn.isBlank = function() {
var fields = $("#exp0").serialize()
alert('something');
for (var i = 0; i < fields.length; i++) {
if (fields[i].value != '') {
alert('testing');
return false;
}
}
alert('testing2');
return true;
};
$.ajax({
type: "POST",
url: "/ajax/saveexp",
data: postData,
async: false,
contentType: false,
processData: false,
cache: false,
success: function(msg)
{
bootbox.alert('Your Profile has been updated');
}
});
});
最佳答案
主要问题似乎是,您首先序列化表单字段(这将导致一个字符串),然后尝试遍历此字符串中的字段(将不起作用)。
而是直接遍历表单字段。使用jQuery,您可以轻松地做到这一点:
$("#exp0").find("input").each(function () {
if ($(this).val() === '') { ... }
});
另一个注意事项:定义函数
isBlank
是不够的,必须在某个地方调用它。您可以删除声明并直接进行检查。
完整代码:https://jsfiddle.net/vq3y6bok/1/
关于javascript - 如何检查表单中的所有空输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37170788/