Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Php 如何使用jquery根据在第一个文本框中输入的值填充第二个文本框?_Php_Jquery - Fatal编程技术网

Php 如何使用jquery根据在第一个文本框中输入的值填充第二个文本框?

Php 如何使用jquery根据在第一个文本框中输入的值填充第二个文本框?,php,jquery,Php,Jquery,我试图根据数据库中第一个文本框字段中输入的值填充文本字段,但在第一个文本框字段中输入一些值时没有收到任何响应。请检查代码 Javascript: <script type="text/javascript"> $("#tin").blur(function () { $.post("tin_handle.php", { tin: $(this).val() }, function (da

我试图根据数据库中第一个文本框字段中输入的值填充文本字段,但在第一个文本框字段中输入一些值时没有收到任何响应。请检查代码

Javascript:

 <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;末尾没有。这是由于粘贴到堆栈溢出而导致的工件,还是代码中也存在此问题?