2012-07-08 36 views
0

我在一個HTML頁面上有多個表單。每個表單對於相同的方法名稱將具有不同的驗證邏輯。然而,jQuery的驗證只允許添加全局的方法,如下面的一個方法「平等」:全局自定義jQuery驗證器方法問題與多個表單

$.validator.methods.equal = function(value, element, param) { 
    // form1 logic 
    return value == param; 
}; 

我試過jQuery.noConflict(),但是這並不能阻止窗口2的方法重寫Form1的。

需要的原因是,我正在開發帶有多個portlet的門戶應用程序。每個portlet都像獨立的web應用程序(但沒有HTML,HEAD,BODY標籤,只是HTML的片段)。每個portlet都不知道對方。它們一起構成一個單一的HTML頁面,門戶網站將結合所有Portlet HTML片段並添加常見的HTML,HEAD,BODY標籤。

我需要一種方法來允許多個jQuery實例或多個jQuery驗證程序實例或方法來非全局地聲明自定義驗證程序方法。

幫助讚賞。

回答

0

這是一個醜陋的黑客攻擊,但您可以將portlet放入iframe中。每個iframe都獨立運行javascript。你可以有多個jquery的「實例」。

雖然iFrames會導致各種其他問題,所以這是最後的解決方案。

+0

謝謝,但這不會做,因爲它是一個portlet應用程序 – 2012-07-08 02:29:56