我想拦截表单提交,将其ajax到一个位置,然后发布表单。以下是我对失败的尝试。我将一如既往地了解我出错的地方。
说明为什么我正在做我正在做的事情:我想存储表格的完整副本,HTML和所有,但仍然处理选定的字段作为典型的表单提交。我的ajax按预期保存HTML,但停止表单提交。删除preventDefault()会导致表单在ajax成功之前提交。
$('#myForm').submit(function(event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: '../../lib/processCompleted.php',
cache: false,
dataType: 'text',
data: { PracticeID: PracticeID },
success: function (data) {
alert('success');
// I would then like to submit the form as usual.
//return true;
//$('#myForm').submit();
},
error: function () {
alert('boo');
}
});
});
干杯
答案 0 :(得分:2)
当您再次调用$('#myForm').submit();
时,将调用提交处理程序,这将阻止表单提交。在这种情况下,创建一个无限循环的ajax请求。
尝试
$('#myForm')[0].submit();
演示:Fiddle