我正在设计一个仅使用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;
}
某些表单是相关的,有些则不是(甚至非常简单,如电子邮件/密码登录表单)!
有没有人遇到过相同的行为或任何线索来纠正这个问题?
谢谢你!答案 0 :(得分:0)
终于找到了原因:
如果<form>
标记位于<table>
标记之后,则表示无效。在表标记解决问题之前移动表单标记。如果有人有解释,只是为了理解这种行为:)