此问题已在此处有答案:
"Submit is not a function" error in JavaScript(19回答)
3天前关闭。
我这里有这个表格:
<form method="post" name="homeForm" id="homeForm" action="thank-you-page.php">
下面是我的jQuery代码:
$("#homeForm").on("submit", function(e){
var formData = new FormData(this);
$.ajax({url: "email-check.php", dataType: "json", data: formData, type: "POST", cache: false, contentType: false, processData: false, success: function(result){
if(result.length > 0)
{
e.preventDefault();
$('.modal').modal('show');
return false;
}
{
return true;
}
}});
});
我想做的是onSubmit通过api调用对API进行检查,如果结果大于0,则阻止默认值并显示模态,如果结果长度等于0,则将帖子数据带入感谢页面。我面临的问题是,我总是被重定向到感谢页面,而preventDefault没有及时停止表单。如果我把preventDefault放在aExclusive调用之外,我会看到我的modal,但是如果结果是0,我不会后藤到thank you页面。
更新
我试过这个:
var formData = new FormData(this);
e.preventDefault();
$.ajax({url: "email-check.php", dataType: "json", data: formData, type: "POST", cache: false, contentType: false, processData: false, success: function(result){
if(result.length > 0)
{
$('.modal').modal('show');
}
{
e.target.submit();
}
}});
我得到错误Uncaught TypeError: e.submit is not a function
1条答案
按热度按时间ttygqcqt1#
您需要在提交处理程序中设置preventDefault,然后Ajax才决定提交实际表单