1

我还在学习 jQuery,我遇到了一些我不确定如何继续的事情。

我有一个表单,其中有一个在加载时隐藏(使用“显示:无”)的 div。此 div 稍后通过 BlockUI 插件显示为用于编辑某些输入元素的模式对话框。我正在尝试获取验证插件来检查我已按要求表示的字段是否实际由最终用户填写。

我在我的应用程序的其他地方使用了验证插件,没有任何问题,但这是我第一次使用它来验证在加载时隐藏的输入。验证没有被执行(即,被标记为必需的空文本输入没有被标记为这样,并且 .valid() 返回 true)。

我使用 Firebug 逐步检查了验证逻辑,发现对话框 div 中的所有输入元素都不存在于 $(this.currentForm) 中。如果我保持对话框 div 可见并删除 $.blockUI 调用,则验证按预期工作。

所以我想我知道现在的问题是什么——我的输入不在 DOM 中,因为它们最初是不可见的,所以验证插件不知道它们存在。我不知道如何解决这个问题。任何人都可以提供建议吗?谢谢!

编辑:对 $.blockUI() 的调用正在从 DOM 中删除对话框 div。看来我必须找到另一种显示对话框的方法。

编辑:代码是专有的,所以我不能发布它。

验证插件链接

BlockUI 插件链接

4

0 回答 0