Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用ajax方式从数据库中填充多个文本框_Ajax - Fatal编程技术网

用ajax方式从数据库中填充多个文本框

用ajax方式从数据库中填充多个文本框,ajax,Ajax,我是ajax新手。 我有一个从数据库填充的下拉列表 和4个文本框。 当用户从下拉列表中选择标题时,文本框应自动填充 这是我的javascript代码 function getXMLHttp() { var xmlHttp try { //Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch(e) { //Internet Explorer try {

我是ajax新手。 我有一个从数据库填充的下拉列表 和4个文本框。 当用户从下拉列表中选择标题时,文本框应自动填充

这是我的javascript代码

function getXMLHttp()
{
  var xmlHttp

  try
  {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    //Internet Explorer
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

function MakeRequest(username)
{
  var xmlHttp = getXMLHttp();

  xmlHttp.onreadystatechange = function()
                               {
                                    if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
                                     {
                                        HandleResponse(xmlHttp.responseText);
                                     }
                                }

  xmlHttp.open("GET","ajax.php?username="+username,true);
  xmlHttp.send(null);
}

function HandleResponse(response)
{
  document.getElementById("f").value = response; 
}
这是我的php代码

    require_once'/classes/USRclass.php';
if(isset($_GET['username']))
{
    $username=$_GET['username'];
    $usr1=new USER;
    $where="username='$username'";
    $a=$usr1->show($where);
    echo $a['name'];
    echo $a['family'];
    echo $a['email'];
    echo $a['privilege'];
}
这是我的表格

<form method="get">
    username:<select name="username" onChange="MakeRequest(this.value)">
        <option></option>
        <?php
        require_once'/classes/USRclass.php';
        $usr1=new User;
        $a=$usr1->show_all_field('username');
        if(count($a)==1)
        {
        foreach($a as $key)
         echo"<option>$key</option>";
        }
        else if(count($a>1))
        {
        foreach($a as $key)
            foreach($key as $column=>$val)
                echo"<option>$val</option>";
        }
        ?>      
        </select><br>
        name: <input id="n" type="text" name="u_name"><br>
        family:  <input type="text" name="u_family" id="f"><br>
        email: <input type="text" name="u_email"><br>
        privilege: <input type="text" name="u_privilege"><br>
        <input type="button" name="u_edit" value="Edit">
        <input type="submit" name="u_ok" value="OK">
        </form>

用户名:

名称:
家庭:
电子邮件:
特权:

jquery可以轻松完成所有ajax调用,您可以先使用jquery,然后获取选项的val,如下面所示

html

并通过post或get方法将其发送到php文件中

$.ajax({
  type: "POST",
  url: "some.php",
  data: { dat: var}
}).done(function( msg ) { //you can also use success
  alert( "Data Saved: " + msg );
});
});
在php中,您可以通过

$_POST['dat']

并根据您的需要执行操作

除非您想学习JavaScript本身,否则您可能应该-jQuery的存在使Ajax调用比普通JavaScript更简单、更简洁。从长远来看,您也可能希望寻找。我更改了代码并使用jquery,但存在一些问题
$.ajax({
  type: "POST",
  url: "some.php",
  data: { dat: var}
}).done(function( msg ) { //you can also use success
  alert( "Data Saved: " + msg );
});
});
$_POST['dat']