Jquery通过.submit()提交一个关于AJAX成功的表单......怎么样?

时间:2011-07-13 08:11:18

标签: jquery ajax forms submit

我正在尝试通过AJAX将所有表单数据发送到脚本,方法是将click函数绑定到submit按钮,将其设置为false,这样它就不会提交表单了。一旦AJAX成功完成,我想通过以下方式提交表单:$("#myform").submit();但没有任何反应。

$("#customOrderForm").submit();

外,一切正常

这是Paypal支付。表格数据存储在会话中,用户进行支付,一旦成功付款就返回网站,表格数据通过电子邮件发送给客户和公司。

$("#submit").click(function () {

    var thedata = $("#customOrderForm").serialize();

    $.ajax({
        type: 'POST',
        url: 'buy-custom-session.php',
        cache: false,
        data: thedata,
        beforeSend: function () {
            $('#sessionholder').append('<div class="loading"><img src="loading.gif" alt="loading..." /></div>');
        },
        success: function (data) {
            //$(".loading").detach();
            //$(".error").detach();
            //$('#sessionholder').append(data);
            $("#customOrderForm").submit();
        },
        error: function () {
            $('#sessionholder').append('<p class="error"><strong>Oops!</strong> Try that again in a few moments.</p>');
        }
    });

    return false;

});

HTML表格

<form id="customOrderForm" action="https://www.paypal.com/cgi-bin/webscr" method="post">

<!-- form fields etc -->

<input type="image" name="submit" id="submit" src="https://www.paypalobjects.com/en_AU/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" />

</form>

Firebug中没有错误。

AJAX成功执行。

干杯

1 个答案:

答案 0 :(得分:6)

更改图像输入的名称和ID。

来自jQuery-docs: 表单及其子元素不应使用与表单属性冲突的输入名称或ID,例如提交,长度或方法。名称冲突可能导致令人困惑的失败。

示例:http://jsfiddle.net/doktormolle/XNMEF/