链接.add和.submit在IE中没有按预期工作

时间:2015-02-07 04:16:37

标签: javascript jquery compatibility

以下语法适用于Safari(osx),Chrome(win / osx)和Firefox(win / osx) - 但不适用于非城域IE 11(Windows 8.1)。

var html = '<form id="theForm" name="theForm" action="/controller/action" method="POST">;
html += '<input type="hidden" name="bob" value="-1" />';
html += '</form>';

//  I expect this to work in IE as it does in all other browsers.
$(document).add(html).submit();

这是一个错误还是我做错了什么?

1 个答案:

答案 0 :(得分:2)

看起来你有一些链接问题。我想您要将html字符串附加到body元素(不是document),并提交form元素。您使用$('BODY').append(html).sumbit();走在正确的轨道上,但在submit元素上调用了body,而不是form元素。

相反,从html字符串创建一个jQuery对象集合,将其附加到body,然后submit

$(html).appendTo('body').submit();

实施例

var html = '<form id="theForm" name="theForm" action="/controller/action" method="POST">';
html += '<input type="hidden" name="bob" value="-1" />';
html += '</form>';
$(html).appendTo('body').submit();