关于 form表单 嵌套问题的解决方案

我们经常是这样嵌套的:

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的变换,可以解决。

猜你喜欢

转载自www.cnblogs.com/LAXL/p/8945899.html