所以函数非常简单(对我来说不是很多!),它需要一个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 & 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页面(是的,这是直接从教程网站上删除的!)
<?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";}
?>
答案 0 :(得分:2)
此xmlhttp.resonseText
应为xmlhttp.responseText
答案 1 :(得分:0)
我相信以下html:
<select name="Data" onChange="showData(this.value)">
可能适用于某些但不是所有浏览器...我认为你应该使用它:
<select name="Data" onChange="showData(this.options[this.selectedIndex])">