2010-08-18 47 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; 

});

相关问题