我有一个错误:"未捕获的TypeError:无法设置属性'值'空测试:29 xmlhttp.onreadystatechange&#34 ;.使用ajax时。
我在php中的代码如下: 我的代码怎么了?
<select name="data" onchange="showUser(this.value)" class="form-combobox">
<?php
$qrySelect = mysql_query("select * from m_motor");
echo'<option>-Choice Data-</option>';
while ($data = mysql_fetch_array($qrySelect)){
echo "<option value=$data[code_motor]>$data[code_motor]</option>";
}
?>
</select>
<div id="txtHint"><b>-Choice Data-</b></div>
并在这样的javascript代码中: 我的代码在这里有什么问题吗? 请帮帮我......
<script>
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").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("txtHint").innerHTML=xmlhttp.responseText;
document.getElementById("data").value =xmlhttp.data;
}
}
xmlhttp.open("GET","getAjax.php?q="+str,true);
xmlhttp.send();
}
</script>
答案 0 :(得分:0)
您应该将其替换为第一个代码段。
<select id="data" onchange="showUser(this.value)" class="form-combobox">
<?php
$qrySelect = mysql_query("select * from m_motor");
echo'<option>-Choice Data-</option>';
while ($data = mysql_fetch_array($qrySelect)){
echo "<option value=$data[code_motor]>$data[code_motor]</option>";
}
?>
</select>
<div id="txtHint"><b>-Choice Data-</b></div>
另外,我认为没有xmlhttp.data属性。如果需要使用ajax传递多个值,请尝试使用json编码。