Javascript 使用Ajax更新双html元素

Javascript 使用Ajax更新双html元素,javascript,html,ajax,Javascript,Html,Ajax,我有一个php页面,有一个人工用户测试、一个文本区域和一个表单提交按钮。首先,提交按钮被禁用 逻辑是这样的:如果通过了人工测试,文本范围将更新为一条成功消息,这一消息非常有效。此外,我还想动态启用submit按钮。这两个html更新操作都是使用Ajax完成的。第一个,成功消息起作用,按钮的第二次更新失败,innerHtml不更新。我使用js函数来处理Ajax。要通过的测试是一个简单的加法,根据sum验证valu in: function loadResult(val_in, sum) {

我有一个php页面,有一个人工用户测试、一个文本区域和一个表单提交按钮。首先,提交按钮被禁用

逻辑是这样的:如果通过了人工测试,文本范围将更新为一条成功消息,这一消息非常有效。此外,我还想动态启用submit按钮。这两个html更新操作都是使用Ajax完成的。第一个,成功消息起作用,按钮的第二次更新失败,innerHtml不更新。我使用js函数来处理Ajax。要通过的测试是一个简单的加法,根据
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括号中。