下面的js代码只能在firefox中使用,但在chrome和IE中工作正常。谁能请帮忙。
我想点击一个按钮提交两个表单
function abc(url){
var form = document.getElementById("sample");
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("actionCode=2");
var form1 = document.getElementById("sample1");
form1.submit();
}
奇怪的是,在使用firebug在xhr.send()行放置调试器时,只要我从firebug中删除调试器,xhr.send就不会执行。
非常感谢任何建议。 感谢
答案 0 :(得分:0)
这是异步请求,您需要检查请求的状态
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var form1 = document.getElementById("sample1");
form1.submit();
}
}
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("actionCode=2");
or this may help
xhr.open("POST", url, false); - it will make the request synchronous.
Then you will not required to move submit or listen to events
提交表单数据的其他方式 https://developer.mozilla.org/en-US/docs/Web/Guide/Using_FormData_Objects