Javascript表单无法在Internet Explorer上按预期提交

时间:2014-06-18 09:49:16

标签: javascript html internet-explorer internet-explorer-10

我有一个在javascript中创建表单并提交它的函数。它在Safari,Chrome,FF和&amp ;; Opera但不是IE 10。

当提交浏览器时,未指向IE中action属性中的url。我确信这是蹩脚但我找不到问题所以任何帮助都会非常感激。

function checkout() {
    var myDoc = 'some xml data to send'
    var form = document.createElement("form");
    form.setAttribute( "method", "POST" );
    form.setAttribute( "action", "http://domain.com/script.php" );
    var hiddenField = document.createElement("input");
    hiddenField.setAttribute( "type", "hidden" );
    hiddenField.setAttribute( "name", "myField" );
    hiddenField.setAttribute( "value", myDoc );
    form.appendChild(hiddenField);
    form.submit();
}

感谢您的帮助!!!

2 个答案:

答案 0 :(得分:3)

在Internet Explorer上,您必须将表单附加到文档中(我不知道它是否是错误或功能)。

简单地做

form.style.display = 'none'; // useful if you're targeting another window
document.body.appendChild(form);

答案 1 :(得分:0)

您正在创建表单,但是您没有将其附加到文档中。

添加

document.documentElement.appendChild(形式);

之前

form.submit();