1

我已经使用 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 浏览器中运行。

4

3 回答 3

0

根据我的评论:

在一个操作上提交两个表单通常是一种不好的做法,但是:

1)您可以将目标 iframe 添加到您的两个表单中。这样浏览器就不会被它们中的任何一个提交重定向。

或者

2)您可以防止默认行为并使用 $.ajax 将数据发送到 #login 表单 url,然后(在回调中)在第一个表单上调用 submit。

于 2012-11-10T11:03:01.257 回答
0

使用这个 javascript 代码。

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

 document.forms['login1'].submit();

});
于 2013-05-15T11:13:20.000 回答
0

尝试这个:

$("#btnSubmitOrder").click(function() {
  $("form[name=login1]").submit();
});
于 2012-11-10T10:42:38.193 回答