我有一个表单提交事件处理程序,在其中我有一个.each
函数,我想为其父(form.submit)返回false以阻止表单提交。我无法弄明白该怎么做。
$("#form").submit(function () {
$(selector).each (function () { if ($(this).val() === ""}) {return false;});
});
答案 0 :(得分:1)
尝试在原始事件对象上使用preventDefault
$("#form").submit(function (event) {
$(selector).each(function () {
if ($(this).val() === ""){
event.preventDefault();
}
});
});
答案 1 :(得分:1)
将状态存储在变量中,并在.each()
$("#form").submit(function () {
var correctForm = true;
$(selector).each(function () {
if (this.value === '') correctForm = false;
});
return correctForm;
});
此外,您可以使用输入元素的.value
属性,而不是创建jquery对象并使用.val()
答案 2 :(得分:0)
您无法直接从内部函数返回值,而是可以使用变量来执行此操作,如
$("#form").submit(function () {
var valid = true;
$(selector).each(function () {
if ($(this).val() === "") {
valid = false;
return false;
}
});
return valid ;
});
答案 3 :(得分:0)
尝试
$("#form").submit(function () {
$(selector).each (function () { if ($(this).val() === ""){}
return false;
});
});