設定されたデータでフォーム要素を更新し、ドロップダウンの選択に基づいてテーブルを表示するチュートリアルを見つけました。しかし、これら2つのことを一緒にマージする方法はまだわかりません。タイトルにあるように、ドロップダウン メニューからの選択に基づいてフォーム フィールドを更新する必要があります。これまでのところ、私はこれに来ました:
HTML:
<html>
<head profile="http://www.w3.org/2005/20/profile">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
<script>
function showUser(str)
{
var strURL="getUser2.php?user="+str;
http('GET', strURL, ajax_response, document.form1);
}
function ajax_response(data) {
for(var key in data) {
document.form1[key].value = data[key];
}
}
</script>
</head>
<body>
<div style="margin:30px 500px">
<form name="form1">
<select name="users" onchange="ajax_request()" value="showUser(this.value)">
<option value="">new</option>
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
<option value="4">Fourth</option>
</select>
<br />
<br />
ID <input type="text" id="ID"><br>
name <input type="text" id="name"><br>
city <input type="text" id="city"><br>
</form>
</div>
</body>
</html>
PHP:
<?php
$user=$_GET["user"];
$con = mysql_connect('localhost', 'root', '');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("pophelper", $con);
$sql="SELECT * FROM phonebook WHERE ID = '".$user."'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$ID=$row['ID'];
$names=$row['names'];
$city=$row['city'];
require_once "json/JSON.php";
$json = new Services_JSON();
$value = array("ID" => $ID, "names" => $names, "city" => $city);
$output = $json->encode($value);
print($output);
mysql_close($con);
?>
PHPファイルを個別に実行しようとしましたが、正しい結果が得られました。しかし、html から実行すると、どのオプションを選択してもフィールドは空のままです。
私は何か見落としてますか?前もって感謝します。