0

したがって、関数は非常に単純で(私にとってはそれほど多くはありません!)、HTMLフォームを取り、ドロップダウンオプションを選択すると、オプション値をindex.phpに送信し、応答に基づいて応答を取得します。ページの内容!しかし、それは「未定義」に戻ってきます...私はXAMPPでlocalhost/index.phpからウェブページを実行しています。

    <div id="currentactivity">
      <table width="800" border="1">
      <tr><td colspan="2"><br /><center><h2>Dynamically change page content with Ajax &amp; PHP</h2></center></td>
      </tr>
      <tr>
      <td width="200">
      <form>
      <select name="Data" onChange="showData(this.value)">
      <option value="">Select page Content:</option>
      <option value="1">Page Content 1</option>
      <option value="2">Page Content 2</option>
      <option value="3">Page Content 3</option>
      <option value="4">Page Content 4</option>
      </select>
      </form>
      </td>
      <td><div id="showData">Use the select box to change page content</div></td>
      </tr>
      </table>
    </div>

以下はJavaScript関数です。(現在、外部の.jsスクリプトを実行していますが、セクションから直接関数を試しましたが、まったく同じことを実行しました!)

function showData(str)
{
if (str=="")
  {
  document.getElementById("showData").innerHTML="";
  return;
  }
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)
    {
    document.getElementById("showData").innerHTML=xmlhttp.resonseText;
    }
  }
xmlhttp.open("GET","index.php?q="+str,true);
xmlhttp.send();
}

そして、以下は私のPHPページです(はい、これはチュートリアルWebサイトから直接削除されています!)

<?php
$q=$_GET["q"];

if ($q==1) {echo "Page Content 1 would be shown";}
if ($q==2) {echo "Page Content 2 would be shown";}
if ($q==3) {echo "Page Content 3 would be shown";}
if ($q==4) {echo "Page Content 4 would be shown";}
?>
4

2 に答える 2

2

これxmlhttp.resonseTextxmlhttp.responseText

于 2012-08-20T16:39:52.610 に答える
0

次のhtmlだと思います:

<select name="Data" onChange="showData(this.value)">

すべてのブラウザではなく一部のブラウザで動作する可能性があります...代わりにこれを使用する必要があると思います:

<select name="Data" onChange="showData(this.options[this.selectedIndex])">
于 2012-08-20T16:41:41.840 に答える