Javascript 使用Ajax更新双html元素
我有一个php页面,有一个人工用户测试、一个文本区域和一个表单提交按钮。首先,提交按钮被禁用 逻辑是这样的:如果通过了人工测试,文本范围将更新为一条成功消息,这一消息非常有效。此外,我还想动态启用submit按钮。这两个html更新操作都是使用Ajax完成的。第一个,成功消息起作用,按钮的第二次更新失败,innerHtml不更新。我使用js函数来处理Ajax。要通过的测试是一个简单的加法,根据Javascript 使用Ajax更新双html元素,javascript,html,ajax,Javascript,Html,Ajax,我有一个php页面,有一个人工用户测试、一个文本区域和一个表单提交按钮。首先,提交按钮被禁用 逻辑是这样的:如果通过了人工测试,文本范围将更新为一条成功消息,这一消息非常有效。此外,我还想动态启用submit按钮。这两个html更新操作都是使用Ajax完成的。第一个,成功消息起作用,按钮的第二次更新失败,innerHtml不更新。我使用js函数来处理Ajax。要通过的测试是一个简单的加法,根据sum验证valu in: function loadResult(val_in, sum) {
sum
验证valu in
:
function loadResult(val_in, sum) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("einstein").innerHTML = this.responseText;
}
};
var url = "";
if (val_in == sum) {
url = "../ajax/einstein.html";
} else {
url = "../ajax/sum_err.html";
}
xhttp.open("POST", url, true);
xhttp.send();
var xhttp2 = new XMLHttpRequest();
xhttp2.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("submitb").innerHTML = this.responseText;
}
};
var url2 = "";
if (val_in == sum) {
url2 = "../ajax/submit_button.html";
} else {
return;
}
xhttp2.open("POST", url2, true);
xhttp2.send();
};
那么,有人知道为什么第二个Ajax请求不起作用吗?或者我不应该这样做,我不知道。提前感谢:-)
/cr!ptal好吧,我在另一个论坛上得到了一个提示<代码>没有内部HTML,这毫无意义。我在单击submit时更新了
disabled
属性。以下是更正后的代码:
function loadResult(val_in, sum) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("einstein").innerHTML = this.responseText;
}
};
var url = "";
if (val_in == sum) {
url = "../ajax/einstein.html";
**document.getElementById("submitb").disabled = false;**
} else {
url = "../ajax/sum_err.html";
}
xhttp.open("POST", url, true);
xhttp.send();
};
/cr!ptal第二次回复会是什么?(headers ant等)尝试xhttp2 open and send函数include in if(val_in==sum){}而不使用else{return}(这是难看的代码)第二个响应返回html:
是的,我可以将第二个open()send()插入第一个if括号中。