0

当我在另一个输入文本类型 (id="textbox1") 中输入内容时,我想更新我的输入文本类型 (id="textbox2")。

这是我的初始代码:

$("#textbox1").keyup(function(){
       $.ajax({
            type: "POST",
            url: "idgetter.php",
            data: 'id='+$("#textbox1").val(),
            success: function(n) {
                $('#textbox2').val(n);
            },
            error: function(n) {
                $('#textbox2').val(n);
            } 
       }); 
    });

还有我的 idgetter.php :

include("inc/conn.php");
$q = mysql_query("SELECT name FROM jurnalis WHERE userid = '".$_POST['id']."'")or trigger_error("SQL", E_USER_ERROR);
if(mysql_num_rows($q)<=0) return "none";
else{
$r = mysql_fetch_array($q);
return $r["name"];

长话短说,这不起作用,知道为什么吗?

4

3 回答 3

1

在 idgetter.php 中,使用 return 代替返回

echo "none";

echo $r["name"];
于 2013-04-18T16:51:51.987 回答
0

您应该尝试 echo 而不是 return:

您的代码将是这样的:

include("inc/conn.php");
$q = mysql_query("SELECT name FROM jurnalis WHERE userid = '".$_POST['id']."'")or    trigger_error("SQL", E_USER_ERROR);
if(mysql_num_rows($q)<=0) echo "none";
else{
$r = mysql_fetch_array($q);
echo $r["name"];
于 2013-04-18T16:57:08.080 回答
0

认为您的 php 中需要进行一些修改:

  1. 将返回更改为回声(如其他答案中所述)

  2. 将您的 if 语句更改为

    if(mysql_num_rows($q)==0){ echo 'none'; }else{ $r = mysql_fetch_assoc($q); 回声 $r['name']; }

那应该有希望地做到这一点。另外作为一个仅供参考,值得尝试避免将 $_POST[''] 项目直接添加到 SQL 语句中,因为它容易发生 SQL 注入漏洞。

于 2013-04-18T17:06:54.310 回答