0

この次のコードについて助けが必要です。問題は、両方ではなく最後の xmlhttp.open のみをトリガーすることです。以下のようなコード。

<script type="text/javascript">
function loadXMLDoc(obj){ 
  var xmlhttp; 
  var flag; 
  var mycode;
  mycode = obj;

  if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }else{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
    }
  }
   flag = document.getElementById(mycode);
   if (flag.value == "Uncall") {
     flag.value = "Call Patient";
     document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Called</font></b>";        
   }else{ 
     flag.value = "Uncall";
     document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Calling..</font></b>";
     **xmlhttp.open("GET","http://1.1.1.1/callnumber.cgi?"+mycode,true);
     xmlhttp.send();
     xmlhttp.open("GET","http://2.2.2.2/displaynumber.php?"+mycode,true);
     xmlhttp.send();**
   }
}
</script>

いくつかの入力に感謝します

4

2 に答える 2

2

同じリクエストオブジェクトを再利用しないでください。

最善のアドバイスは、これを自分で書かないことです。ライブラリを見つけて、その実装を使用します。JQueryは悪くありません。他にもたくさんのオプションがあります。

于 2012-05-14T03:49:52.087 に答える
0
<script type="text/javascript">
function loadXMLDoc(obj){
  var xmlhttp; 
  var flag;
  var mycode;
  mycode = obj;
  flag = document.getElementById(mycode);
  if (flag.value != "Uncall"){
      loadXMLDocCall(obj,"http://1.1.1.1/callnumber.cgi?");
      loadXMLDocCall(obj,"http://2.2.2.2/displaynumber.php?");
      flag.value = "Uncall";
      document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Calling..</font></b>";
      } else { 
       flag.value = "Call Patient";
       document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Called</font></b>";
      }
}
function loadXMLDocCall(obj,url){ 
  var xmlhttp; 
  var mycode;
  mycode = obj;

  if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }else{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
    }
  }
   xmlhttp.open("GET",url+mycode,true);
   xmlhttp.send();
 }
</script>
于 2012-05-14T03:57:46.873 に答える