看看下面的js 代码:
<script>
function createMyForm(myForm){
if(myForm == null){
myForm = document.createElement('form');
//document.body.appendChild(myForm); //不把form添加body或者页面的其他元素里面, 将不会实现提交功能
myForm.name = 'myForm';
myForm.action = 'test2.html';
}
return myForm;
}
function submitMyForm(myForm){
if(myForm == null){
myForm = createMyForm(myForm);
}
alert(myForm.name); //用这句测试myForm是否成功建立
myForm.submit();
}
</script>
<input type="button" value="提交到test2.html" οnclick="submitMyForm()">
在上面的代码中, myForm 是被成功建立了, 但是却不能用于提交的操作, 原因在于 myForm 不包含在当前页面上下文中, 它只是存在于内存中, 所以它的提交操作对当前页面没有效果.
把 document.body.appendChild(myForm); 的注释去掉, myForm 就是 当前页面的一个form元素了, 它的提交操作就对当前页面有操作了. 不一定要把myForm 添加到 document 中, 添加到document 中的其他元素也可以的, 如div元素.