Php 如何使用jquery根据在第一个文本框中输入的值填充第二个文本框?
我试图根据数据库中第一个文本框字段中输入的值填充文本字段,但在第一个文本框字段中输入一些值时没有收到任何响应。请检查代码 Javascript:Php 如何使用jquery根据在第一个文本框中输入的值填充第二个文本框?,php,jquery,Php,Jquery,我试图根据数据库中第一个文本框字段中输入的值填充文本字段,但在第一个文本框字段中输入一些值时没有收到任何响应。请检查代码 Javascript: <script type="text/javascript"> $("#tin").blur(function () { $.post("tin_handle.php", { tin: $(this).val() }, function (da
<script type="text/javascript">
$("#tin").blur(function () {
$.post("tin_handle.php",
{
tin: $(this).val()
},
function (data){
$("#cname").val(data.cname);
$("#caddress").val(data.caddress);
});
</script>
Tin_handle.php:
<?php
$tn = trim($_POST['tin']);
require_once("sqlconnect.php");
$q="SELECT CONCAT(address,',',city,',',state) AS caddress,cname,tin FROM company WHERE tin=$tn;
$r = @mysqli_query ($dbc, $q);
//$arr=array();
while ($row = mysql_fetch_array($r))
{
$arr=array('cname'=>$cname, 'caddress'=>$caddress);
echo json_encode($arr);
}
?>
您是否检查了JavaScript错误控制台?JavaScript第一行上的{在哪里匹配?首先,我从未使用过mysqli。mysqli\u查询与mysql\u fetch\u数组一起工作吗 无论如何,我看到的一个潜在问题是:
while ($row = mysql_fetch_array($r)) {
$arr=array('cname'=>$cname, 'caddress'=>$caddress);
echo json_encode($arr);
}
除非结果计数为1,否则这将不是正确的json。例如,如果您得到两个结果,您将生成不正确的json:
{"cname":"CNAME1","caddress":"CADDRESS1"}{"cname":"CNAME2","caddress":"CADDRESS2"}
如果需要读取多行,循环应为:
$arr = array();
while ($row = mysql_fetch_array($r)) {
//...
$arr[] = array('cname'=>$cname, 'caddress'=>$caddress);
}
echo json_encode($arr);
但是javascript代码将返回一个数组,而不是一个对象,因此您也必须更改它
如果这不能解决您的问题,请在您的问题中添加更多的信息/代码,以便我们能够更好地理解它您是否尝试过在Chrome或firebug中调试您的响应?您的PHP文件是否正常工作?您真的需要从正常工作的内容开始,并提高复杂性。如果这是您的实际代码,那么第一件事就不是最突出的是,jQuery没有在文档中准备好。php我假设您在剪切粘贴时遇到问题,因为它显然不会做任何事情,尽管您使用的是未受保护的用户输入来进行数据库查询。这不仅不好,而且很危险。查看代码,这一行:$q=SELECT CONCATaddress,',“,city,”,状态为caddress,cname,tin,该公司的tin=$tn;末尾没有。这是由于粘贴到堆栈溢出而导致的工件,还是代码中也存在此问题?