Javascript 一个按钮提交,仅提交最后一个表单

Javascript 一个按钮提交,仅提交最后一个表单,javascript,forms,Javascript,Forms,存在两种形式,最后一种形式无关紧要,总是最后一种形式提交 <script> function submitall() { document.getElementById("form2").submit(); document.getElementById("form1").submit(); } </script> 函数submitall() { document.getElementById

存在两种形式,最后一种形式无关紧要,总是最后一种形式提交

<script>
    function submitall()
       {
         document.getElementById("form2").submit();
         document.getElementById("form1").submit();
       }
  </script>

函数submitall()
{
document.getElementById(“form2”).submit();
document.getElementById(“form1”).submit();
}
这样试试看

HTML

这些属于表格1

<input type="text" id="form11" name="i1" />
<input type="text" id="form12" name="i2" />

假设这是属于form2的

 <input type="text" id="form21" name="i3" />

Javascript应该是这样的

function ajaxRequest(){
     var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
     if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
      for (var i=0; i<activexmodes.length; i++){
       try{
        return new ActiveXObject(activexmodes[i])
       }
       catch(e){
        //suppress error
       }
      }
     }
     else if (window.XMLHttpRequest) // if Mozilla, Safari etc
      return new XMLHttpRequest()
     else
      return false
    }
var mypostrequest=new ajaxRequest()
mypostrequest.onreadystatechange=function(){
 if (mypostrequest.readyState==4){
  if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
   document.getElementById("result").innerHTML=mypostrequest.responseText // ajax response
  }
  else{
   alert("An error has occured making the request")
  }
 }
}

function submitForm(page,parameters)
           {
  mypostrequest.open("POST", page, true);
  mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
  mypostrequest.send(parameters);
           }
var value1=encodeURIComponent(document.getElementById("form11").value);
var value2=encodeURIComponent(document.getElementById("form12").value);
var value3=encodeURIComponent(document.getElementById("form21").value);
var p1="i1="+value1+"&i2="+value2;
var p2="i3="+value3;
var parameters=[p1,p2];               
    var pages = ['basicform1.php','basicform2.php'];
    for(var i=0;i<pages.length;i++)
    {
       submitForm(pages[i],parameters[i]);
    }
函数ajaxRequest(){
var activexmodes=[“Msxml2.XMLHTTP”,“Microsoft.XMLHTTP”]//要在IE中检查的activeX版本
if(window.ActiveXObject){//首先测试IE中对ActiveXObject的支持(因为IE7中的XMLHttpRequest被破坏)

对于(var i=0;我能提供html代码吗?如果form2是最后一个表单,那么它只提交最后一个表单是正常的,因为提交会刷新页面,所以第二个表单不会启动。调用
.submit()
重新加载页面,因此所有脚本停止运行。您需要使用AJAX提交第一个表单,然后在响应到达时提交第二个表单。您不能同时提交两个表单。在浏览器将您重定向到第一个表单的
操作之前,您的第二个表单将被提交。正如@Barmar所说,他需要使用AJAX。当他使用您的脚本时,第一个表单将立即重新加载页面。@Redrif AJAX帖子应该是什么样子的?提供html代码,这样我就可以给出答案。您是否已经在使用jquery,还是想要纯javscript解决方案?@Amir还有,当您将用html代码更新问题时,请告诉我您想对t做什么他提交了表格。我想这就是你需要的@Amir