gpt4 book ai didi

JQuery 验证未捕获类型错误 : Cannot read property 'settings' of undefined

转载 作者:行者123 更新时间:2023-12-03 22:02:18 25 4
gpt4 key购买 nike

我在 JQuery Mobile 表单上使用 JQuery Validate,该表单具有带有动态创建的“自动完成”选项的 ListView 。

如果您在验证处于事件状态后尝试在自动完成字段中输入内容,我会收到此错误。

我可以看到问题与 jQuery Mobile 创建的用于保存过滤器输入的表单有关,但我不知道如何阻止 jQuery Validate 验证字段。

我可以使用它来重现它 JS Fiddle

(按“验证”,然后在过滤框中键入)

任何建议表示赞赏

谢谢

<body>
<script>
jQuery.validator.setDefaults({
ignore: '[data-type="search"]'

});
</script>
<form>
<input required>
<ul id="ac" data-inset="true" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Search cars...">
<li><a href="#">Acura</a>

</li>
<li><a href="#">Audi</a>

</li>
</ul>
<button onclick="$('#ac').attr('data-role','listview');$('#ac').listview();$('form').validate();">Validate</button>
</form>

最佳答案

您的整个问题是由 listview() 创建的动态 HTML 引起的功能。检查 DOM 发现这会动态创建一个新的 <form>容器。由于您已放置 listview在您的<form>内容器,你现在有 <form></form>嵌套在 <form></form> 内,这是非常无效的 HTML,这也是 jQuery Validate 插件如此意外地工作的全部原因。

解决方案是将 ListView 元素放置在 <form> 之外容器。

关于JQuery 验证未捕获类型错误 : Cannot read property 'settings' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27509958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com