HTML:如何正确提交一个动态创建的JS/jQuery形式?
<button class="search" name="search">search</button>
的Javascript:
$('button.search').live('click', function(event) {
var newForm = jQuery('<form>', {
'action': 'http://www.google.com/search',
'target': '_top'
}).append(jQuery('<input>', {
'name': 'q',
'value': 'stack overflow',
'type': 'hidden'
}));
newForm.submit();
});
小提琴:http://jsfiddle.net/YqGLH/90/
预期的行为:在搜索按钮点击时,页面应该转发给谷歌搜索。在最新的Chrome,Safari和Opera中按预期工作。
在最新的FF和IE9中不起作用。单击按钮静静地失败,没有错误信息,不会发生转发。
我在这里错过了什么?
您似乎没有将新表单追加到实际页面 - 如果在提交之前添加'.appendTo(“body”)'会发生什么? – nnnnnn 2013-05-13 11:46:52
@nnnnnn我确实不添加表单,这是一个需求?在这种情况下,奇怪的是它在某些浏览器中可以正常工作 – 2013-05-13 11:48:55
对我来说,它感觉不错,不会添加表单,但我实际上不知道它是否被任何特定的规范所覆盖。尽管如此,它应该很容易让你尝试一下...... – nnnnnn 2013-05-13 11:50:51