【问题标题】:JQuery .submit method not working in FirefoxJQuery .submit 方法在 Firefox 中不起作用
【发布时间】:2011-10-14 09:35:09
【问题描述】:

在我的 javascript 文件中,我有一个类似 sn-p 的代码:

$('<form action="process.php" method="POST">' +
'<input type="hidden" name="amp" value="' + calcJSON.totalAmpDay + '">' +
'<input type="hidden" name="watt" value="' + calcJSON.maxWattRate + '">' +
'<input type="hidden" name="dc_volt" value="' + document.number.dc_volt.value + '">' +
'</form>').submit();

以上代码包含在函数定义中。当我单击一个按钮时,该函数被调用,然后浏览器应该被重定向到带有一些 POST 数据的“process.php”页面。 但只有 Chrome 将我重定向到新页面,而 Firefox 不会。

如何解决这个问题?

【问题讨论】:

  • 您是否尝试过先将DOM元素添加到页面然后提交?我的意思是分两步完成?
  • @cpjolicoeur - 好主意。此外,使用.appendTo() 可以构建、添加到 DOM 并使用单个链提交。
  • 是的。谢谢。有效。 .appendTo() 和 .submit() 链接让我的任务更轻松:)

标签: jquery firefox google-chrome cross-browser


【解决方案1】:

警报(或 console.log)-

var formtext ='<form action="process.php" method="POST">' +
'<input type="hidden" name="amp" value="' + calcJSON.totalAmpDay + '">' +
'<input type="hidden" name="watt" value="' + calcJSON.maxWattRate + '">' +
'<input type="hidden" name="dc_volt" value="' + document.number.dc_volt.value + '">' +
'</form>'
alert(formtext);

提交表单之前的字符串。该字符串是否看起来像一个有效的表单定义?

【讨论】:

    【解决方案2】:

    大约一周前遇到了同样的问题。我需要更正,但我相信在 Firefox 中,必须先将表单添加到 DOM 中,然后才能提交。我通过将 CSS 设置为“显示:无”解决了这个问题,并在运行提交方法之前将表单添加到页面上的任意元素。

    【讨论】:

      【解决方案3】:

      作为一个好的建议,使用 firebug 对其进行调试以查看错误并将其附加到讨论中以查看实际发生的情况。这有助于查明问题并提供帮助。见:firebug breakpoint

      【讨论】:

        猜你喜欢
        • 2016-08-01
        • 1970-01-01
        • 2017-07-15
        • 2012-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多