作为标题声明我正在努力推迟提交帖子,以便完成ajax呼叫。
到目前为止,我有这个,为什么它不起作用的任何想法?
//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
html部分:
<form method="post" name="update_profile_maps" id="add_to_map" action="">
//some inputs here.
</form>
答案 0 :(得分:1)
使用普通<submit>
(不属于<button>
类型,而不是使用submit
标记;请注意,键入submit
is the default)。单击该按钮后,激活您的ajax,然后在ajax成功完成时使用JavaScript提交表单。