2

这是一个从组合框中选择 ID 的想法,然后它会自动在 html 表单字段中打印数据,以便可以轻松地编辑该字段。到目前为止,我有 2 个文件 - index.html 和 showData.php。这是 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事件发生时,它有一个名为 的属性keyCode,它返回所按下键的 ASCII 码。钥匙有Enter密码13。当您按下Enter键时,甚至会发生这种情况。

于 2012-11-07T07:16:59.540 回答