2

我在用:

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/

4

1 回答 1

2

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

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

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

于 2013-05-13T19:33:24.750 回答