2013-05-13 74 views
2

我使用:jQuery驗證addMethod「notEqual」導致瀏覽器崩潰

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/

+0

上jsfiddle.net的演示將真正幫助。 – Dogbert 2013-05-13 19:16:54

+0

http://jsfiddle.net/aVy9e/ – housamz 2013-05-13 19:24:04

回答

2

你遞歸從submitHandler選項調用submit事件。相反,調用本地表單元素上提交功能:

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

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

+0

老兄,你只要給我你的照片,我需要做一個雕像爲您 非常感謝你它的工作原理就像魔術 – housamz 2013-05-13 19:43:37

+0

@xyro:沒問題!樂意效勞。 – 2013-05-13 19:46:31