我已经在下面发布了代码。
有两个文件..
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"];