1

皆さん、おはようございます。w3schools から取得したこのコードを持っています。

var xmlhttp

function showCustomer(str,str2)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }



var url="/Script/ajaxdb/aaaaa.php";
url=url+"?id="+str;
url=url+"&id2="+str2;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)  {



  document.getElementById("TXTHINT").innerHTML=xmlhttp.responseText;





  }
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

IDの名前を次のように変更したい

      document.getElementById("TXTHINT").innerHTML=xmlhttp.responseText;

次のようなものが欲しい

  document.getElementById("TXTHINT1").innerHTML=xmlhttp.responseText;

  document.getElementById("TXTHINT2").innerHTML=xmlhttp.responseText;

  document.getElementById("TXTHINT3").innerHTML=xmlhttp.responseText;

等々..

私は試した

  document.getElementById("TXTHINT"+str).innerHTML=xmlhttp.responseText;

TXTHINT1、TXTHINT2、TXTHINT3などのID名を持つには、変数strの値が必要なため....

しかし、idは機能しません。

誰かが私を助けることができますか?

4

3 に答える 3

1

変更したいすべての要素にクラス属性を設定したいと思います。例えば:

<div id="TXTHINT" class="txthints"></div>
<div id="TXTHINT1" class="txthints"></div>

これで、クラス属性 "txthints" を使用してすべての要素を簡単に繰り返し処理し、コンテンツを設定できるようになりました。

var divsToChange = document.getElementsByClassName('txthints');
var newContent = xmlhttp.responseText;

for(i=0; i < divsToChange.length; ++i ) {
 divsToChange[i].innerHTML = newContent;
}
于 2013-06-19T12:21:43.753 に答える
0

これを試して

xmlHttp.onreadystatechange=関数 () {

        stageChanged(str, str2);
    };
xmlHttp.open("GET", handlingURL, true);
xmlHttp.send(null); }

関数stageChanged(str, str2) {

    if(xmlHttp.readyState==4)
    {
        document.getElementById("TXTHINT"+str).innerHTML=xmlhttp.responseText;
        //do something with the response
    } }

STR はグローバル パラメータとして定義されていないため、応答関数でアクセスできません。str をパラメータとして渡す必要があります。

于 2013-06-19T12:25:26.290 に答える