3

私はajaxが初めてで、多くの修正を試みましたが、方法がわからなかったという質問をしたいと思います。2 つのテキストフィールド領域を持つ 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

どこで私は間違えましたか?それは本当ですか?どんな助けでも大歓迎です。ありがとうございました!

4

1 に答える 1

0

あなたが提供した小さな情報から問題が何であるかを正確に知ることはかなり困難です.

ブライアンが言ったように、に変更する必要がありdocument.getElementById("NAME").innerHTMLますdocument.getElementById("NAME").value

しかし、これは問題の原因ではありません。私の意見では、ここの URL が間違っています。 xmlhttp.open("GET","/myproject/users_update.php?q="+str,true);

しかし、あなたのプロジェクト ディレクトリを見たことがないので、はっきりとは言えません。

于 2013-03-05T12:51:11.267 に答える