我已经在下面发布了代码。
有两个文件..


getvendorname.php
sales.htm(包含javascript函数)
在这里,我要做的是当模糊时,我需要检索值而无需从getvendorname.php重新加载页面,并在不同的文本框中显示供应商名称和ID。
在这里,我必须将值存储到使用xmlhttprequest对象从数据库中检索到的不同文本框中。在这里已检索到值,但是我无法将其存储到其他文本框中。它可以正常工作,但显示如下
o / p:201anne。我需要在不同的文本框中显示供应商ID和供应商名称。请帮助我


sales.htm

<script type='text/javascript'>
function getname()
{
  var vendorID = document.getElementById("idvid").value;
  var xmlhttp;
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("iddiv1").innerHTML=xmlhttp.responseText;
            document.getElementById("iddiv2").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","getvendorname.php?vendorid="+vendorID,true);
    xmlhttp.send();
}
</script>
<html>
<head><title>vendor info</title> </head>
  <body>
    <td>Vendor Primary ID:</td>
    <td><input type="text" id="idvid" name="vendor_primary_number" onblur="getname()">
    </td>
    <td> <div id="iddiv1"> </div></td>
    <td> <div id="iddiv2"> </div></td>
  </body>
</html>


getvendorname.php

<?php
$vid = $_GET['vendorid'];

$connection = mysql_connect('localhost','root','root');
mysql_select_db('bgm_score', $connection);

$r ="select vendorid,vendorname from vendor_info where vendorid ='$vid'";
$result = mysql_query($r, $connection);

$row = mysql_fetch_assoc($result);
echo $row["vendorid"];
echo $row["vendorname"];

?>

最佳答案

我对您的代码进行了一些更正,以使其正常工作。首先,替换此行:

document.getElementById("iddiv1").innerHTML=xmlhttp.responseText;


与:

document.getElementById("iddiv1").innerHTML=vendorID;


原因是您不需要从数据库中检索供应商ID,因为这是您要发送的数据。只需使用您拥有的变量即可。这也意味着您需要更改PHP代码。

从查询中删除vendorid字段:

$r ="select vendorid,vendorname from vendor_info where vendorid ='$vid'";


现在看起来像这样:

$r ="select vendorname from vendor_info where vendorid ='$vid'";


还要删除此行,因为它不需要:

echo $row["vendorid"];

10-07 12:49