2

コンボボックスからIDを選択すると、HTMLフォームフィールドにデータが自動的に印刷され、フィールドを簡単に編集できるようになります。これまでのところ、index.html と showData.php の 2 つのファイルがあります。index.html ファイルは次のとおりです。

<html>

<head>

    <script>

        function showData(str)
        {
            if (str=="")
            {
                document.getElementById("ajax-content").innerHTML="";
                return;
            } 

            // Code for IE7+, Firefox, Chrome, Opera, Safari
            if (window.XMLHttpRequest)
            {
                xmlhttp=new XMLHttpRequest();
            }

            // Code for IE6, IE5
            else
            {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    document.getElementById("ajax-content").innerHTML=xmlhttp.responseText;
                }
            }

            xmlhttp.open("GET","showData.php?id="+str,true);

            xmlhttp.send();
        }

    </script>

</head>

<body>

<form>

<select name="register" onchange="showData(this.value)">
        <option value="">Select ID:</option>
        <option value="001">001</option>
        <option value="002">002</option>
        <option value="003">003</option>
    </select>   

</form>

<div id="ajax-content"></div>

</body>

ここに私のshowData.phpファイルがあります:

<?php

    // Receive variable from URI
    $id=$_GET["id"];

    // Connect to your database
    $con = mysql_connect('localhost', 'root', '');
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }

    // Select your database
    mysql_select_db("test_01", $con);

    // Select all fields from your table
    $sql="SELECT * FROM staffdetails WHERE id = '".$id."'";

    $result = mysql_query($sql);

    while($row = mysql_fetch_array($result))
    {

        echo "Staff Name:" . "<input type='text' value='" . $row['name'] . "'>";
        echo "</br>";
        echo "Contact No.:" . "<input type='text' value='" . $row['number'] . "'>";
    }

    // Close the connection
    mysql_close($con);

?>

今、私がやろうとしているのは、(「リストから選択」ではなく)フォームフィールドにIDを入力し、( 「送信」ボタンなしで)Enterキーを押して、フォームのフィールドで結果を取得することです。誰でも助けてくれますか?

4

1 に答える 1

1

これをonkeyup属性で指定します。

<input onkeyup="if (event.keyCode == 13) showData(this.value); return false;" />

説明

eventで現在発生しているイベントinputです。keyupイベントが発生すると、押されたキーの ASCII コードを返す というプロパティがありkeyCodeます。Enterキーにはコードがあります13。キーを押すとEnter、これも起こります。

于 2012-11-07T07:16:59.540 に答える