我创建使用JavaScript形式像为什么我需要追加的形式身体
//Create a form
var form = document.createElement('FORM');
form.name = 'myForm';
form.method = 'POST';
form.action = 'SomePath';
//Create a hidden filed
var hidden = document.createElement('INPUT');
hidden.type = 'HIDDEN';
hidden.name = 'MyHiddenField';
hidden.value = 'MyHiddenFieldValue';
form.appendChild(hidden);
//Submit form
form.submit();
当脚本执行。所有的语句执行没有任何错误。但表格实际上没有提交。
但是,当我追加它的文件。像
document.getElementsByTagName('body')[0].appendChild(form);
//Submit form
form.submit();
一切工作正常。我的问题是为什么我需要将表单追加到主体?我错过了什么。
编辑:它没有追加表格body
在铬。
我想,因为那会被添加到DOM,否则你只能创建新的元素,但不能将它们附加到DOM。你也可以使用document.body.appendChild(form); –
有人[这里](http://www.bennadel.com/blog/1204-you-cannot-submit-non-rendered-forms.htm)在2008年有同样的问题... – user3526