我已经使用jquery在页面中插入了一个隐藏的表单,我在按钮点击事件中使用jquery提交表单。隐藏的表单在firefox中提交,但它没有以chrome提交。
以下是我在document.ready函数上使用jquery插入的表单。
$('#leftnav').after(
"<tr><td><form name='login1'" +
"action='https://abc.com/FormPost/Submit' method='post'" +
"id='login' >" +
"<input type='hidden' name='MerchantIdentifier' value='abc' />" +
"<input type='hidden' name='Url'" +
"value='http://chcnq.chxcg.servertrust.com/one-page-checkout.asp'/>"+
"<input type='hidden' name='Description'" +
"value='Volusion Order' />"+
"<input type='hidden' name='Data' value='' />"+
"<input type='hidden' name='TransactionIdentifier'"+
"value='12' />" +
"<input type='hidden' name='Amount' value='' />"+
"<input name='Token' type='hidden' value='" + token + "' />"+
"<input type='hidden' name='ErrorUrl' />" +
"</form></td></tr>");
并点击按钮我写了以下代码:
$("#btnSubmitOrder").click(function() {
$("#login").submit();
});
请告诉我为什么它不能在Chrome浏览器中使用。
答案 0 :(得分:0)
试试这个:
$("#btnSubmitOrder").click(function() {
$("form[name=login1]").submit();
});
答案 1 :(得分:0)
根据我的评论:
在一个操作上提交两个表单通常是不好的做法,但是:
1)您可以将目标iframe添加到两个表单中。这样浏览器就不会被提交者重定向。
或
2)您可以通过使用$ .ajax然后(在回调上)调用第一个表单上的提交来阻止默认行为并将数据发送到#login表单网址。
答案 2 :(得分:0)
使用此javascript代码。
$("#btnSubmitOrder").click(function() {
document.forms['login1'].submit();
});