我们经常是这样嵌套的:
1 <form id="formId1" action="" method="post"> //表单1 2 <form id="formId2" action="" method="get"> //表单2 3 <input id="but1" type="button" value="提交"> 4 </form> 5 <input id="but2" type="button" value="保存"> 6 </form>
然后,我们会发现我们表单2执行submit提交时会报错找不到submit(),
我们执行console.log(document.getElementById('formId2'));会发现结果为null;
既然我们发现form表单可并存但是不能嵌套了,那么怎样去解决呢?
<form id="formId1" action="" method="post"> <input id="but1" type="button" value="提交"> <input id="but2" type="button" value="保存"> </form>
上临代码:我们把多个表单执行的事件放在一个表单里面,但提交的时候我们加以控制:
document.getElementById('but1').onclick=function(){ document.getElementById('formId1').setAttribute("action","www.baidu.com"); } document.getElementById('but2').onclick=function(){ document.getElementById('formId1').removeAttribute("action","www.baidu.com") document.getElementById('formId1').setAttribute("action","www.google.com"); }
这样通过上传/请求时,Action的变换,可以解决。