【发布时间】:2010-05-05 13:08:32
【问题描述】:
我有一个问题,如果表单提交(设置为通过 AJAX 提交)验证失败,下一次提交表单时,post 请求的数量会增加一倍——这绝对不是我想要发生的。我正在使用 jQuery ValidationEngine 插件提交表单并将验证消息绑定到我的字段。这是我下面的代码。我认为我的问题可能在于我通过 $('.form_container form').attr('action') 检索表单操作属性 - 我必须这样做,因为使用 $(this).attr正在获取第一个加载表单的操作属性 - 但是,当我将新表单加载到页面中时,它不会正确获取新表单的操作,直到我删除了 $(this) 选择器并使用类引用它。谁能看到我在这里可能做错了什么? (请注意,我有 2 个类似的表单处理程序已加载到 domready 上,这也可能是一个问题)
$('input#eligibility').live("click", function(){
$(".form_container form").validationEngine({
ajaxSubmit: true,
ajaxSubmitFile: $('.form_container form').attr('action'),
success : function() {
var url = $('input.next').attr('rel');
ajaxFormStage(url);
},
failure : function() {
//unique stuff for this form
}
});
});
//generic form handler - all form submissions not flagged with the #eligibility id
$('input.next:not(#eligibility)').live("click", function(){
$(".form_container form").validationEngine({
ajaxSubmit: true,
ajaxSubmitFile: $('.form_container form').attr('action'),
success : function() {
var url = $('input.next').attr('rel');
ajaxFormStage(url);
},
failure : function() {
}
});
});
【问题讨论】:
标签: javascript ajax jquery-plugins jquery