如何使用javascript将数据加载到表单?

时间:2012-06-27 11:46:30

标签: php javascript ajax json

我想将数据从MySql数据库加载到HTTP表单 当我在文本中输入时,它应该加载人的名字

<html>
<head>
    <script type="text/javascript">
    function FetchUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var data = JSON.parse(xmlhttp.responseText);
  }
  }
xmlhttp.open("GET","finduser.php?q="+str,true);
xmlhttp.send();
}
this.form.name.value=data.name;
this.form.age.value=data.age;
</script>
</head>
<body>
<form method="post" >
Id<input type="text"  name="id" size="5" />    </br>
Name<input type="text" id="name" name="name"  onclick="Fetchuser(this.form.id.value)" ></br>
Age<input type="text" id="age" name="" size="2" /></br>
</form>
</body>
</html>

PHP代码。

<?php
$q=$_GET["q"];
$con = mysql_connect('localhost', 'root', '125');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $con);

$sql="SELECT * FROM wow WHERE id = '".$q."'";
$resul = json_encode(mysql_query($sql));
echo $resul;
?> 

我的问题是如何在文本框中同时获取名称和年龄。 我试过这个但仍然无法加载数据

3 个答案:

答案 0 :(得分:2)

您可以使用json_encode返回包含所有相关字段的json,并在javascript中将每个字段放在它所属的位置。

$result = json_encode(mysql_query($sql));
echo $result; // don't forget to push the output or responseText is null.

在javascript中:

var data = JSON.parse(xmlhttp.responseText);

然后使用data.name_of_the_field

访问您的数据

答案 1 :(得分:1)

 <?php
 $rs=mysql_fetch_object($result );
 $name=$rs->name;
 $age=$rs->age;
 ?>
  Name<input type="text" name="name"  value="<?php echo $name;?>" />
  Age<input type="text" name="" size="2" value="<?php echo $age;?>"  />

答案 2 :(得分:0)

在您的文本框中添加id <input id="name"<input id="age",这样您就可以通过document.getElementById("name")document.getElementById("age")

分配它们