formData对象未在firefox和IE上发送所有数据

formData对象未在firefox和IE上发送所有数据,firefox,xmlhttprequest,Firefox,Xmlhttprequest,我正在设计一个只使用xhr函数进行表单处理的web界面 虽然它在chrome上工作得很好,但在IE和firefox上却有一个非常奇怪的行为:提交表单时并不是所有的数据都会被传输,当这些错误发生时,也没有任何东西指向特定的东西 我的post函数如下所示: function submitForm(formName,formTarget) { console.log(formName); var form = document.getElementById(formName); var formDa

我正在设计一个只使用xhr函数进行表单处理的web界面 虽然它在chrome上工作得很好,但在IE和firefox上却有一个非常奇怪的行为:提交表单时并不是所有的数据都会被传输,当这些错误发生时,也没有任何东西指向特定的东西

我的post函数如下所示:

function submitForm(formName,formTarget)  {
console.log(formName);
var form = document.getElementById(formName);
var formDatax = new FormData(form);

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
document.getElementById("mainCenter").innerHTML = xhr.responseText;
} else if (xhr.readyState < 4) {
document.getElementById("mainCenter").innerHTML = "<div class='loadingDiv'></div>";
}
};
xhr.open('POST', formTarget, true);
xhr.send(formDatax);

return false;
}
函数submitForm(formName,formTarget){
console.log(formName);
var form=document.getElementById(formName);
var formDatax=新的FormData(表格);
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=函数(){
如果(xhr.readyState==4&&(xhr.status==200 | | xhr.status==0)){
document.getElementById(“mainCenter”).innerHTML=xhr.responseText;
}否则如果(xhr.readyState<4){
document.getElementById(“mainCenter”).innerHTML=“”;
}
};
xhr.open('POST',formTarget,true);
xhr.send(formDatax);
返回false;
}
有些表单发送正确,有些表单发送不正确(甚至非常简单,如电子邮件/密码登录表单)

有没有人遇到过同样的行为或任何线索来纠正这一点


谢谢大家!

终于找到了原因:

如果
标记放在
标记之后,则该标记不起作用。在表标记之前移动表单标记可以解决此问题。如果有人有一个解释,只是为了理解这种行为:)


谢谢大家!

你能链接到显示问题的页面吗?