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

时间:2013-03-24 13:10:58

标签: firefox xmlhttprequest

我正在设计一个仅使用xhr函数进行表单处理的Web界面 虽然它在chrome上完美运行,但它在IE和firefox上有一个非常奇怪的行为:在提交表单时并非所有数据都被转换,并且在发生这些错误时没有任何指向特定内容的东西。

我的帖子功能如下:

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;
}

某些表单是相关的,有些则不是(甚至非常简单,如电子邮件/密码登录表单)!

有没有人遇到过相同的行为或任何线索来纠正这个问题?

谢谢你!

1 个答案:

答案 0 :(得分:0)

终于找到了原因:

如果<form>标记位于<table>标记之后,则表示无效。在表标记解决问题之前移动表单标记。如果有人有解释,只是为了理解这种行为:)

谢谢你!