Jquery验证addMethod“notEqual”会导致浏览器崩溃

时间:2013-05-13 18:42:35

标签: javascript jquery

我正在使用:

jQuery.validator.addMethod("notEqual", 
    function(value, element, param) {
        return this.optional(element) || value !== param;
    }, 
    "Please specify a different (non-default) value"
);

然后:

$(this).validate({
    rules: {
        address: { notEqual: "ADDRESS" },
        building: { notEqual: "BUILDING"}
    },
    submitHandler: function() { 
        $(this).submit(); 
    }
});

要使字段不等于其默认值,但这会导致浏览器速度很慢,或者在webkit引擎的情况下崩溃。

jQuery JavaScript Library v1.8.3
jQuery validation plug-in pre-1.5.2

你能告诉我出了什么问题吗?

更新: 我只是尝试将验证插件替换为:jQuery Validation Plugin - v1.11.1,结果仍然相同。

工作样本:http://jsfiddle.net/aVy9e/

1 个答案:

答案 0 :(得分:2)

您正在从submit选项中递归调用submitHandler事件。而是在表单元素上调用本机提交函数:

$(this).validate({
    rules: {
        address: { notEqual: "ADDRESS" },
        building: { notEqual: "BUILDING"}
    },
    submitHandler: function(form) { 
        form.submit(); 
    }
});

示例: http://jsfiddle.net/aVy9e/2/