Javascript 如何使用链接从数据库中预填充表单字段?

Javascript 如何使用链接从数据库中预填充表单字段?,javascript,jquery,mysql,database,forms,Javascript,Jquery,Mysql,Database,Forms,好的,我有一个html表单。此表单用于收集用户/成员信息。它使用一个数据库,其中有几个重要的第2列用户电子邮件和发票id。在我的表单中,用户电子邮件输入是隐藏的,页面加载时等于登录用户在文件中提供的电子邮件地址的值。当用户提交多个表单提交时,将在我的数据库中创建具有相同用户电子邮件的多个记录。比如说,如果user1提交了3个表单,那么我的数据库中将有3条记录,所有记录的user_email列值都等于登录user1的电子邮件的值。试图找出一种显示链接列表的方法,当单击该列表时,将使用数据库中每个可

好的,我有一个html表单。此表单用于收集用户/成员信息。它使用一个数据库,其中有几个重要的第2列用户电子邮件和发票id。在我的表单中,用户电子邮件输入是隐藏的,页面加载时等于登录用户在文件中提供的电子邮件地址的值。当用户提交多个表单提交时,将在我的数据库中创建具有相同用户电子邮件的多个记录。比如说,如果user1提交了3个表单,那么我的数据库中将有3条记录,所有记录的user_email列值都等于登录user1的电子邮件的值。试图找出一种显示链接列表的方法,当单击该列表时,将使用数据库中每个可用记录的信息预先填充表单。因此,如果user1已登录并有3条记录,则将生成/显示3个链接,单击每个链接时,将使用数据库中的记录数据预填充表单。这就是发票id输入的来源…生成的链接需要用用户发票id值为每个特定记录的值/文本进行标记或标题。请注意,用户id输入值已经自动生成,并在页面加载时预先填入唯一的序列号

为实现这一目标提供任何帮助或指出正确的方向都将是巨大的。谢谢

<form action="xxx.php" class="well" id="xxx" name"xxx" method="post">


<input type="hidden" id="user_email" name="user_email" value="xxx@email.com">
<input type="text" id="invoice_id" name="invoice_id">
<input type="text" id="other1" name="other1">
<input type="text" id="other2" name="other2">

<input type="submit" value="Submit">

您需要的是一些Ajax代码,使用JQuery将查询发送到服务器端PHP?然后返回基于电子邮件地址的数据库查询结果。结果可以作为HTML加载到div中,以便服务器端执行所有格式化等操作

  function Lookup() {
    var Options = {
    };
      Options.email= ... email address from form
      $.ajax({
          url: 'Lookup.php',
          type: 'POST',
          data: Options
       }).done(function(data){
                      $("#ResultDiv").html(data);
        });
    }
加载页面后,需要调用此javascript函数:

    $(document).ready(function(){
   Lookup();
    }
PHP代码如下所示:

... database connect stuff
 $sSQL     = "SELECT * FROM people WHERE user_email = '".$_POST['email']."';";

  $result = RunQuery($sSQL);

if (mysqli_num_rows($result)>0) {

  $iLoop    = 0;
  //output results from database
  echo 'OK<table><tr>';

  while (($iLoop <= 30) && ($aRow = mysqli_fetch_array($result))) {
    extract($aRow);

   echo "<tr><td><a href='".$invoice_id.".html'>".$invoice_id."</a></td><td>"
  ... other info as   required ...."</td></tr>";

    $iLoop++;

  }
  echo '</tr></table>';
试试这个:

 // Get user from server
            $.post("GetUserData", data, function (result, status) {
                // Loop through each field in the returned object
                $.each(result, function (key, element) {
                    // Append the field value to the 
                    // correct field inside the form
                    $("#user_form :input[name = '" + key + "']").val(element);
                });
            })
            .fail(function (error) {
                // Retrieve the error response from the title
                retrieveErrorTitle(error);
            });