使用ajax发布表单,然后将相同的表单提交给其他URL

时间:2015-02-05 07:56:55

标签: javascript php jquery ajax forms

为什么我的表单在ajax提交后不会再次提交到其他网址。

使用以下脚本我想用ajax发布表单,然后将相同的表单提交给其他网址。

首先我的表单会提交到Ajax网址(http://www.mywebsite.com/insertdata.php)然后同一表单会提交给表单操作网址(http://www.example.com/mail.php

HTML

<form id="contact_form" action="http://www.example.com/mail.php" method="post" novalidate="novalidate" data-track="formSubmit" name="contact_form">

 <!------Form Elements ------->
<input class="form-control submit" type="submit" value="Submit">
</form>

的JavaScript

$("form").on("submit", function(event) {
        event.preventDefault();
        $.ajax({
            url: "http://www.mywebsite.com/insertdata.php",
            type: "post",
            crossDomain: true,
            data: $(this).serialize(),
            success: function(responce) {
                console.log(responce);
                return true;
            }
        });
    });

3 个答案:

答案 0 :(得分:2)

删除event.preventDefault();  
如果调用此方法,则不会触发事件的默认操作。这会停止表单提交到action属性中的网址。

$("form").on("submit", function(event) {

              event.preventDefault();
              flag=false;
                $.ajax({
                    url: "http://www.mywebsite.com/insertdata.php",
                    type: "post",
                    crossDomain: true,
                    data: $(this).serialize(),
                    success: function(responce) {
                        console.log(responce);
                        return true;
                        $("form").off("submit");
                        $("form").trigger( "submit" )
                    }
                });      
        });

答案 1 :(得分:1)

在成功功能中添加表单提交。

$("form").on("submit", function(event) {
    event.preventDefault();
    $.ajax({
        url: "http://www.mywebsite.com/insertdata.php",
        type: "post",
        crossDomain: true,
        data: $(this).serialize(),
        success: function(responce) {
            console.log(responce);
            $("form").submit();
            return true;
        }
    });
});

更新:您可以使用按钮点击,它可以正常工作

$(".submit").on("click", function(event) {

答案 2 :(得分:1)

   $("#contact_form").on("submit", function(event) {
        $.ajax({
            url: "http://www.mywebsite.com/insertdata.php",
            type: "post",
            crossDomain: true,
            data: $(this).serialize(),
            success: function(response) {
                console.log(response);
                return true;
            }
        });
    });