2010-08-18 52 views
0

我使用jQuery validation插件來驗證一些自定義窗體並將窗體提交給CRM工具。 CRM工具有大量的數據變量,我們也可以發佈,但有時會有不匹配的字段,我們需要將這些全部放入CRM工具的註釋字段中。jQuery驗證插件和相同/重複的名稱屬性

現在的問題是,我們需要使用相同的HTML名稱=「」屬性來捕獲值,這就是驗證插件似乎搞亂我的地方。我瞭解name =「」屬性,需要是唯一的標識符,但目前我無法修改此問題。

我想知道一種製作插件的方式,忽略這些name =「」;並基於其他方法驗證?我一整天都在看文檔,我似乎無法找到自己可以使用的東西。據我所知,即使在編寫自定義規則時也能進行測試,並且name =「」屬性存在,但該插件仍然依賴於name =「」屬性的任何想法?

+0

這些字段是否有ID或其他可單獨識別的方式?您是否嘗試將相同的驗證規則(例如「必需」)應用於所有這些規則? – 2010-08-18 15:22:54

+0

嗨,肯,謝謝你的回覆,是的我可以分配唯一的ID /類到這些領域,我也使用class =「required」來驗證它們的輸入。但是它們都具有與上述相同的name =「」屬性。再次感謝。 – 2010-08-18 15:34:09

+0

另外..如果需要,我可以刪除class =「required」,以支持另一種方法。 – 2010-08-18 15:34:50

回答

0

找到這個問題的解決方案後,我想出了以下解決方案,它適用於我,但它可能指向某人正確的想法來幫助他們解決相同的問題。我所做的是通過.CRMEVAL類的所有輸入字段進行循環,並且我還分配了一個自定義html屬性以幫助識別後端輸入的值。然後我將這些添加爲隱藏的輸入字段。希望這可以幫助別人!

$(document).ready(function() { 
// grab form submission 
$("#form-name").submit(function() { 

// loop through fields with .CRMEVAL class and rewrite them as hidden input fields. Append fields to hidden container. 
$('.CRMEVAL').each(function(){ 
    inputField = "<input type='hidden' name='GENERATED-NAME' value='" + $(this).attr("label") + ":" + $(this).val() + "' />"; 
    $("#hiddenFormFields").append(inputField); 
}); 

// submit the form 
return true; 

});

相關問題