我在Jquery Validation插件中遇到了一些问题,并想知道是否有人可以提供帮助。
目前,插件适用于当前页面上的任何表单元素
$("#addRelease").validate({
submitHandler: function(form) {
form.submit();
}
});
但是,如果我在单击按钮上动态创建表单,则Jquery Validation插件将不适用于此新创建的元素。
// Add release form
$(function(){
$('body#true #releases p a').click(function(){
// Grab form using Jquery
$.get('http://localhost:8500/mxRestore/views/viewlets/forms/ajax/a_addRelease.cfm?name_art='+name_art, function(data) {
// Place form returned via Jquery on page in formWrapper div
$('#formWrapper').html(data);
});
return false
});
});
以前有没有人遇到过这个问题而且知道一个解决方法?
非常感谢
答案 0 :(得分:3)
很难说没有看到你的代码,但是你可能需要在将html插入页面后绑定“validate()”方法,因为在用户启动之前jQuery找不到#addRelease元素ajax调用(通过单击)然后将该元素添加到页面。
// Add release form
$(function(){
$('body#true #releases p a').click(function(){
// Grab form using Jquery
$.get('http://localhost:8500/mxRestore/views/viewlets/forms/ajax/a_addRelease.cfm?name_art='+name_art, function(data) {
// Place form returned via Jquery on page in formWrapper div
$('#formWrapper').html(data);
$("#addRelease").validate({
submitHandler: function(form) {
form.submit();
}
});
});
return false;
});
});
答案 1 :(得分:2)
这是因为$("#addRelease").validate
在调用HTML元素时会向其添加事件处理程序。插入新元素后,您必须再次调用它。