在加载包含表单输入字段的div之后,如何执行validationJQuery脚本?

我在JQuery中绝对是新的,我有以下疑问。

我知道这样做:

$(document).ready(function() { DO SOMETHING .............................. .............................. .............................. } 

在完成文档完整显示之后执行function()体实现的行为。

但是,例如我有以下情况。 进入使用Struts 2标记库的页面(但这并不重要,我有一个表单:

      

s:form标签是一个Struts 2标签,它只是包装一个标准的HTML表单。

sj:div标签是一个Struts 2标签,它包含一个包含表单输入字段的div。 这被定义为另一个JSP页面,这仅在特定事件(用户单击按钮后)之后显示。 它只是生成一个标准HTML div,其id = resultEvents包含表单输入字段。

所以现在我想使用JQueryvalidation器作为输入字段值,但是当文件由$(document).ready()准备就绪时我无法加载它,因为当文档准备就绪时我的表单的输入字段不是加载在DOM中。

我必须做这样的事情:

 $(document).ready(function(){ alert("VALIDATION") var validator = $("#projectForm").validate({ rules: { "kmProjectInfo.name": "required" }, messages: { "kmProjectInfo.name": "Please enter a project name" } }); 

但是在我加载了这个脚本后,我已经加载了这个脚本, 然后加载了id = resultEvents的div的内容。

我该怎么做? 有可能吗?

TNX

思路:

1)如果您的表单由另一个模块加载(或者在调用$(document).ready时),您将必须设置回调或发送一个事件,表明表单何时就绪。

 function validator() { var validator = $("#projectForm").validate({ rules: { "kmProjectInfo.name": "required" }, messages: { "kmProjectInfo.name": "Please enter a project name" } }); ... } // form_module can be a module you use to load // or a struts2 js api or some jquery function that does the work. $(document).ready(function() { form_module.load("url/to/form?", { "on_form_loaded": function() { validator(); } }) }); 

2)单击“提交”或尝试提交表单时定义validation器,但这样就无法validation表单何时加载。

 function validator() { var validator = $("#projectForm").validate({ rules: { "kmProjectInfo.name": "required" }, messages: { "kmProjectInfo.name": "Please enter a project name" } }); ... } // ? $("#submitButton").click(function() { validator(); }); // ? $("#projectForm").submit(function() { validator(); });