从子函数返回父函数的值

时间:2013-10-26 15:12:55

标签: jquery form-submit

我有一个表单提交事件处理程序,在其中我有一个.each函数,我想为其父(form.submit)返回false以阻止表单提交。我无法弄明白该怎么做。

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

4 个答案:

答案 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;
 });
 });