在ajax调用完成之前延迟表单提交



正如标题所述,我正在努力延迟后期提交,以便完成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>

不要使用<submit>标记,而是使用普通的<button>(不是类型submit;请注意,类型submit是默认值)。单击按钮后,启动ajax,如果ajax成功完成,则使用JavaScript提交表单。

最新更新