Javascript 在ajax调用完成之前延迟表单提交
正如标题所述,我正在努力延迟提交帖子,以便ajax调用能够完成 到目前为止我已经知道了,你知道为什么它不起作用吗Javascript 在ajax调用完成之前延迟表单提交,javascript,jquery,ajax,Javascript,Jquery,Ajax,正如标题所述,我正在努力延迟提交帖子,以便ajax调用能够完成 到目前为止我已经知道了,你知道为什么它不起作用吗 //Jquery jQuery(document).ready(function($) { $("#save").on("click", function(e){ //Prevent submission of post data before ajax success in function reverse_geocoding
//Jquery
jQuery(document).ready(function($) {
$("#save").on("click", function(e){
//Prevent submission of post data before ajax success in function reverse_geocoding
e.preventDefault();
//ajax
reverse_geocoding(lat_onclick,lng_onclick,true);
}
});
function reverse_geocoding(latitude,longitude,submit) {
//get country/city/state using lat and long data
jQuery.ajax({
url: "<?php bloginfo('template_url'); ?>/reverse-geocoding.php",
type: "GET",
data: "latitude=" + latitude + "&longitude=" + longitude,
cache: false,
success: function (data){
var response = jQuery.parseJSON(data);
},
complete: function() {
if (submit) {
$("#add_to_map").submit();
}
}
});
}
});
//End Jquery
//Jquery
jQuery(文档).ready(函数($){
$(#保存”)。在(“单击”上,函数(e){
//防止在ajax功能反向地理编码成功之前提交post数据
e、 预防默认值();
//阿贾克斯
反向地理编码(lat_onclick,lng_onclick,true);
}
});
功能反向地理编码(纬度、经度、提交){
//使用lat和long数据获取国家/城市/州
jQuery.ajax({
url:“/reverse geocoding.php”,
键入:“获取”,
数据:“纬度=”+纬度+“&经度=”+经度,
cache:false,
成功:功能(数据){
var response=jQuery.parseJSON(数据);
},
完成:函数(){
如果(提交){
$(“#将#添加到#映射”).submit();
}
}
});
}
});
//结束Jquery
html部分:
<form method="post" name="update_profile_maps" id="add_to_map" action="">
//some inputs here.
</form>
//这里有一些输入。
不要使用
标签,而是使用普通的
(不是提交类型的标签;注意提交类型的)。单击按钮时,启动ajax,如果ajax成功完成,则使用JavaScript提交表单。会发生什么错误?1)JavaScript代码实际上在PHP文件中吗?2) 您的success
函数中的response
会发生什么情况,因为您现在没有对它做任何操作。我没有测试过,但在过去遇到过这个问题,我还必须返回false并阻止默认值。@ExplosionPills表单未提交。@user113215 yes。我删掉了不相关的部分。