JQuery AJAX更新另一个文本框textchange上的文本框

时间:2013-04-18 16:49:03

标签: php jquery ajax post

当我在另一个输入文本类型(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"];

长话短说,这不起作用,任何想法为什么?

3 个答案:

答案 0 :(得分:1)

在idgetter.php中,而不是使用return give返回

echo "none";

echo $r["name"];

答案 1 :(得分: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"];

答案 2 :(得分:0)

认为你的php需要一些修正:

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

  2. 将您的if语句更改为

    如果(mysql_num_rows($ Q)== 0){   回声'无'; }其他{   $ r = mysql_fetch_assoc($ q);   echo $ r ['name']; }

  3. 希望这应该做到。另外作为一个FYI值得尝试避免直接向SQL语句添加$ _POST ['']项,因为它容易发生SQL注入攻击。