情况如下
我的JSP页面中有一个包含许多输入字段的表单。输入文本字段的数量未知,因为它基于上一个操作类。
当表单提交时,我想检查所有输入文本字段是否为空。如果全部为空,则不应提交。否则(在任何情况下。即,必须填写至少一个文本字段),然后表格应该提交。
我尝试过的JQuery:
$('#dataFieldMapping').submit(function() {
if ($('input:text').is(":empty")) {
alert("Empty!");
preventDefault();
}
});
( dataFieldMapping 是表单的id)。当我点击提交时,它会提醒"清空!"总是,即使所有文本字段都已填满。
NB :我的提交按钮位于表单之外。所以我正在使用
$('#dataFieldMapping').submit();
未经验证。但我想验证表格。
答案 0 :(得分:2)
$('#dataFieldMapping').submit(function (e) {
if (!$(this).find('input:text').filter(function () {
return $.trim(this.value) != ""
}).length) {
alert("Empty!");
e.preventDefault();
}
});
答案 1 :(得分:1)
您没有在事件对象上调用preventDefault,您需要在事件对象上调用preventDefault
。你试图检查所有字段是否为空的方式不会给你正确的结果,因为它会检查孩子没有价值。
:empty选择所有没有子元素的元素(包括文本节点),reference
$('#dataFieldMapping').submit(function(event) {
lst = $('input:text').filter(function(){
this.value != "";
});
if(lst.length)
{
alert("Empty!");
preventDefault();
}
});