我是ajax的新手,我想问一个问题,我试图修复很多,但无法弄清楚如何。我有一个html表单,有2个文本区域。当用户在第一个文本字段中输入值时,我想从我的数据库更新第二个。
我经历了很多在线教程,我自己写了这样的东西:
HTML:
<tr>
<td width="20"></td>
<td width="229" bgcolor="#FCECEC">ID</td>
<td width="319" bgcolor="#FCECEC">NAME</td>
<td width="82" align="left"><label>
<input type="button" name="ADD" id="ADD" value="New User" onclick=" "/>
</label></td>
</tr>
<tr>
<td bgcolor="#FCECEC" align="center">1</td>
<td><input type="text" name="ID" id="ID" maxlength="11" onchange="showUser(this.value)" value=" " /></td>
<td><input type="text" size="40" name="NAME" id="NAME" maxlength="80" value="" /></td>
</tr>
ajax功能:
function showUser(str)
{
if (str=="")
{
document.getElementById("NAME").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("NAME").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/myproject/users_update.php?q="+str,true);
xmlhttp.send();
}
和php方面的一部分:
$q=$_REQUEST["q"];
$kps->WhatsId($q);
$tname=$kps->NAME;
$tsname=$kps->SURNAME;
当我这样做时,我会继续
未定义索引q
我哪里出错了?这是真的吗?任何帮助,将不胜感激。谢谢!
答案 0 :(得分:0)
很难从你提供的小信息中确切地知道问题是什么。
像Bryan提到的那样,你应该将document.getElementById("NAME").innerHTML
更改为document.getElementById("NAME").value
但这不是导致问题的原因。
在我看来你的网址错了:
xmlhttp.open("GET","/myproject/users_update.php?q="+str,true);
但我无法确定,因为我没有看到你的项目目录