我正在使用Jquery Validation Plugin通过Ajax加载的表单(动态表单)。我知道,从Jquery 1.4开始,现在可以提交提交的直播活动。现在问题是我想在动态表单验证后显示确认消息。我的代码如下所示:
$('.dynamicForm').live('submit',function(){
$(this).validate();
if($(this).valid()){
if(!confirm('Are you sure?'))
e.preventDefault();
}
});
它没有按预期工作。以某种方式确认首先显示,然后在第二次提交表单时,这是验证发生的时间。有什么想法吗?
答案 0 :(得分:3)
使用validate options中提供的submitHandler
功能:
$(".dynamicForm").validate({
submitHandler: function(form) { //Only runs when valid
if(confirm('Are you sure?'))
form.submit();
}
})
来自文档 - submitHandler :
在表单有效时回调处理实际提交。获取表单作为唯一参数。替换默认提交。在验证后通过Ajax提交表单的正确位置。
答案 1 :(得分:3)
不知何故,这似乎有效:
$('.dynamicForm').live('mouseover',function(){
$(this).validate({
submitHandler:function(form){
if(confirm("Are you sure?")){
form.submit();
}
}
});
});