让Parsley.js识别未隐藏​​的表单元素

时间:2014-12-30 20:54:01

标签: javascript parsley.js

我有一些最初隐藏在文档加载上的标记。我有一个"添加行"按钮将取消隐藏一行表单元素。我还有删除行按钮,它们将隐藏给定的表单元素行。

Parsley验证适用于加载文档时存在且可见的输入标记,但验证不适用于因javascript事件而显示的输入标记。

我试过打电话:

  $('form').parsley(); 

在"添加行"按钮单击事件处理程序,但它似乎没有什么区别。

为了让欧芹了解这些新近可见的表单元素,我还需要做些什么吗?

2 个答案:

答案 0 :(得分:1)

添加或删除输入标记时,需要销毁欧芹,以便销毁ParsleyForm对象。之后,您需要再次绑定Parsley,以便将验证应用于表单中的所有可见输入。您可以通过以下方式执行此操作:

$('form').parsley().destroy();
$('form').parsley();

或者,您可以在特定字段中添加/删除验证,如下所示:

// add validation to #fieldId
$('#fieldId').parsley();
// remove validation from #fieldId
$('#fieldId').parsley().destroy();

最佳选择取决于您拥有多少个字段。如果表单中有大量字段,Parlsey将花费一些时间来销毁和重新创建对象。但是,这是更容易的选择(因为您不需要了解有关添加或删除的字段的任何信息)。

请注意,当您将Parlsey绑定到表单($('form').parlsey())时,它会为表单创建一个ParsleyForm对象,并为表单中的字段创建尽可能多的ParsleyField个对象

答案 1 :(得分:0)

如果parsley配置正确,那么就不应该做任何特别的事情,它应该有效。

在您的情况下,您可能希望将':hidden'添加到已排除字段列表中,您应该很高兴。

如果它仍然没有按预期工作,请提供一个示例......