使用AJAX和PHP基于下拉菜单选择更新表单域

时间:2012-10-02 20:43:29

标签: php ajax json

我找到了用set数据更新表单元素的教程,还根据下拉选项显示表格。但是,我仍然无法弄清楚如何将这两个东西合并在一起。 正如标题中所说 - 我需要根据下拉菜单中的选择更新表单字段。 到目前为止,我已经来到了这个:

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运行它时,无论我选择哪个选项,字段都会保持为空。

我错过了什么吗?提前谢谢。

0 个答案:

没有答案