使用jQuery验证Javascript范围问题

时间:2014-02-10 21:45:37

标签: javascript jquery jquery-validate

我在第一次设置时,在下面的函数中遇到'sync'变量的问题。

如果我打电话给下面的......

save(true);
save(false);

    var save = function (sync) {

        // value of sync here always reflects what is passed in

        $('form').validate({
            rules: {
                ...
            },
            submitHandler: function () {
                var ajax = sync;  // the first time sync is true, and then it is always true!
            }
        });
        $('form').submit();
    }

第一次呼叫同步为“true”。在验证之前,第二次调用sync是'false',但在submitHandler中,sync会回到'true'。

我认为这是一个范围问题。在提交处理程序中,如何访问'sync'的传入值?

1 个答案:

答案 0 :(得分:0)

我通过正确使用jQuery验证解决了这个问题。正如@Mathletics所建议的那样,我现在在初始化时调用validate并使用Valid()来验证表单。