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