javascript - Jquery Validate addMethod "notEqual"导致浏览器崩溃

标签 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/

最佳答案

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

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

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

关于javascript - Jquery Validate addMethod "notEqual"导致浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16528932/

相关文章:

javascript - 如何重命名或有选择地加载 angularJS?

javascript - webpack 样式加载器和 css 加载器对于简单示例不起作用

javascript - Bootstrap javascript 事件未绑定(bind)

javascript - 使用非常大的 Javascript 数组或对象

javascript - .show 和 .animate 同时进行?

javascript - 如何通过点击div和js外部来关闭可扩展菜单

javascript - 在 JavaScript 中的两点之间画线?

javascript - 取消选中复选框时设置复选框值

javascript - 自定义 Google Map API V3 PEGMAN 按钮

javascript - 如何在 html javascript jquery 拖放事件(非 html5)上获取文件名