コンボボックスから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キーを押して、フォームのフィールドで結果を取得することです。誰でも助けてくれますか?