我想验证表单中的每个项目,以便在一个空的情况下我想打印一个警告。
因此,我正在使用form.serializeArray()
来检查任何可能为空的输入框。但我的代码不起作用。我做得好吗?
答案 0 :(得分:1)
而不是var form = page.find(..);
使用var form = $(..);
改性.. http://jsfiddle.net/vqr22ebz/6/
但还有另一个问题,你正在为每个空字段调用警报。
答案 1 :(得分:1)
您选择page.find()
而不是$('')
来选择表单。
要改进代码并且无需重复代码,您可以更改代码:
$("#myform").submit(function() {
var formItems = $(this).serializeArray();
formItems.forEach(function (i, v) {
if (v.value == '' || v.value == null || typeof v.value == 'undefined') {
window.alert("need to fill up all those fields");
}
});
});
不要弹出太多;您可以指定空的字段。
$("#myform").submit(function() {
var formItems = $(this).serializeArray();
formItems.forEach(function (i, v) {
if (v.value == '' || v.value == null || typeof v.value == 'undefined') {
$('input[name="' + v.name + '"]').val("This field must not be empty");
}
});
});
答案 2 :(得分:1)
.find()
方法搜索文档中的指定文本并突出显示匹配项。
您可以进一步简化代码:
$( "#myform" ).submit(function( form ) {
$(this).serializeArray().forEach(function (i, v) {
if (v.value == '' || v.value == null || typeof v.value == 'undefined') {
alert("need to fill up all those fields");
}
});
});