ajax错误xmlhttp.onreadystatechange

时间:2014-08-16 05:46:38

标签: php

我有一个错误:"未捕获的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>

1 个答案:

答案 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编码。