使用onsubmit同时表单提交和Ajax?

我很抱歉,如果之前已经询问过这个问题,但是我需要发送表单数据,同时单击“提交”时表单提交和ajax调用。 原因是因为用户被重定向,我想事先将det formdata存储到我的数据库中。

所以我尝试使用表单onsubmit和fire提交formdata的javascript函数。 这不起作用,表单被发送并且没有进行ajax调用。 所以我尝试从函数中取出ajax调用,然后查看它是否正常工作,在页面刷新时,进行了ajax调用并更新了我的数据库。

这是som代码:

HTML

<form id="danlevi" onsubmit="return senddata()" action='' method='post' enctype="multipart/form-data">         

的javaScript

 jQuery(document).ready(function() { function senddata() { var formdata = jQuery("#danlevi").serialize(); var decoded = decodeURIComponent(formdata); strip = decoded.replace(/[\[\]]/g, "_"); alert(strip); jQuery.ajax({ type: "POST", url: 'dev/wp-content/themes/twentythirteen/custom/process_address.php', data: strip, }); } }); 

我不知道为什么这不起作用,我想要的是页面等待ajax调用,完成后,像往常一样发送表单。

如果我使用return false,它会起作用。 我希望有人可以解释我明显做错的事情,并告诉我这样做的方法。 您在此代码中看到的警报仅用于调试。

等到ajax完成然后提交表单。

  jQuery(document).ready(function() { function senddata() { var formdata = jQuery("#danlevi").serialize(); var decoded = decodeURIComponent(formdata); strip = decoded.replace(/[\[\]]/g, "_"); alert(strip); jQuery.ajax({ type: "GET", url: 'dev/wp-content/themes/twentythirteen/custom/process_address.php', data: strip, complete: function(){ jQuery("#danlevi").submit(); //submit the form after ajax completes } }); return false; //stop the form from initially submitting } });