Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Parsley.js 1.x-动态更改表单数据属性时出错_Jquery_Parsley.js - Fatal编程技术网

Jquery Parsley.js 1.x-动态更改表单数据属性时出错

Jquery Parsley.js 1.x-动态更改表单数据属性时出错,jquery,parsley.js,Jquery,Parsley.js,键入字段myTestFieldis时,第一个keyup事件上的My Parsley错误消息 此值太短。它应该有4个或更多字符 我试图在运行中更改欧芹字段数据属性,但这似乎不起作用。它保留了在第一位html表单中指定的值,而不考虑JS代码中修改的值 在Chrome上,我可以检查加载DOM后数据属性值是否发生了更改 我的代码是 <form name="myForm" id="myForm"> <input type="text" name="myTestField" id=

键入字段myTestFieldis时,第一个keyup事件上的My Parsley错误消息

此值太短。它应该有4个或更多字符

我试图在运行中更改欧芹字段数据属性,但这似乎不起作用。它保留了在第一位html表单中指定的值,而不考虑JS代码中修改的值

在Chrome上,我可以检查加载DOM后数据属性值是否发生了更改

我的代码是

<form name="myForm" id="myForm">
    <input type="text" name="myTestField" id="myTestField" data-trigger="keyup" data-minlength="4" data-validation-minlength="0" >
    <button id="mySubmitButton" type="submit" >Save</button>
</form>

<script>
// wait for the DOM to be loaded 
    $(document).ready(function() {
    // destroy
    $('#myForm').parsley('destroy');
    // change attribute
    $('#myTestField').attr('data-minlength','2');
    // assign parsley to do the job
    $('#myForm').parsley();
      });
</script>
我做错了什么

更新:

这是Parsley.js的一个已知版本,其中有一个

我还尝试在同一个输入Id上使用removeItem后跟addItem,但也不起作用


我仍在试图找到一种解决方法,欧芹基于数据属性,由jQuery与.data绑定

不幸的是,当您添加data-attr时,它没有绑定到jQuery.data。您必须以这种方式动态添加验证程序:

<script>
// wait for the DOM to be loaded 
    $(document).ready(function() {
      // destroy
      $('#myForm').parsley('destroy');
      // change attribute
      $('#myTestField').data('minlength', 2);
      // assign parsley to do the job
      $('#myForm').parsley();
    });
</script>

我将添加一个API来动态添加/编辑/删除验证器,而无需调用destroy:

Thx来获得清晰的答案。它就像一个符咒,我已经了解了jQuery.data。在1.1.11中,我添加了一些函数来正确地添加/编辑/删除验证器。比直接使用数据更好;欧芹试图在飞行中改变田地的限制条件,我仍然有困难。所以,我使用了这个技巧,它对我很有效;我只是尝试根据用户在选择框中选择的值更改所需字段。hi@guillaumepotier我尝试动态添加必需字段,如$'admission_no'.attr'required','true';但它不起作用。。。还有其他的归档方式吗?这方面有什么进展吗?我已经尝试了几乎所有我能找到的例子,从销毁不理想的表单到尝试使用refreshConstraints、RemoveContrains等等。