我需要将jQuery validate插件绑定到我动态生成的表单.据我所知.live(),这是在jQuery中执行此操作的唯一方法.它似乎不起作用,至少我正在尝试的方式.我认为这是可行的,它只是eebkac!
这很好用:
$("form#form_CreateUser").validate({
submitHandler: function(form) {
// do other stuff for a valid form
UserSubmit();
}
});
Run Code Online (Sandbox Code Playgroud)
这会生成语法错误:
$("form#form_CreateUser").live('validate', function() {
submitHandler: function(form) {
// do other stuff for a valid form
UserSubmit();
}
});
Run Code Online (Sandbox Code Playgroud)
lon*_*day 14
这不起作用,因为你误解了它是如何validate工作的.它看起来像事件处理函数click,但实际上并非如此.
click是一个快捷方式bind('click', fn). validate无法使用bind.因为live实际上是一种使bind调用工作在尚不存在的元素上的方法,所以它不起作用validate.
最简单的方法是创建一个函数,validate在每次插入新内容时调用并调用该函数.例如,如果您使用AJAX插入表单,则可以使用以下ajaxComplete函数:
function setupValidate() {
$("form#form_CreateUser").validate({
submitHandler: function(form) {
// do other stuff for a valid form
UserSubmit();
}
});
}
$(document).ajaxComplete(setupValidate); // after every AJAX request
setupValidate(); // right now
Run Code Online (Sandbox Code Playgroud)