2

我有一个表单提交事件处理程序,在其中我有一个.each函数,我想为其父级(form.submit)返回 false 以防止表单提交。我不知道该怎么做。

$("#form").submit(function () {
$(selector).each (function () { if ($(this).val() === ""}) {return false;});
});
4

4 回答 4

1

尝试在原始事件对象上使用 preventDefault

$("#form").submit(function (event) {
    $(selector).each(function () {
        if ($(this).val() === ""){
            event.preventDefault();
        }
    });
});
于 2013-10-26T15:16:13.480 回答
1

将状态存储在变量中并在.each()

$("#form").submit(function () {
    var correctForm = true;
    $(selector).each(function () {
        if (this.value === '') correctForm = false;
    });
    return correctForm;
});

您也可以使用.value输入元素的属性而不是创建 jquery 对象并使用.val()

于 2013-10-26T15:16:58.677 回答
0

您不能直接从内部函数返回值,而是可以使用变量来执行此操作

$("#form").submit(function () {
    var valid = true;
    $(selector).each(function () {
        if ($(this).val() === "") {
            valid = false;
            return false;
        }
    });
    return valid ;
});
于 2013-10-26T15:14:20.457 回答
0

尝试

    $("#form").submit(function () {
 $(selector).each (function () { if ($(this).val() === ""){}
        return false;
 });
 });
于 2013-10-26T15:17:58.897 回答