我正在尝试通过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成功执行。
干杯
答案 0 :(得分:6)
更改图像输入的名称和ID。
来自jQuery-docs: 表单及其子元素不应使用与表单属性冲突的输入名称或ID,例如提交,长度或方法。名称冲突可能导致令人困惑的失败。