0

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

1 回答 1

1

与其使用标签,不如使用<submit>normal <button>(不是 type submit;注意 typesubmit 是 default)。单击按钮时,触发您的 ajax,然后如果 ajax 成功完成,则使用 JavaScript 提交表单。

于 2013-07-07T16:22:20.750 回答