dongnachuang6635 2015-06-05 07:40
浏览 75
已采纳

如何获得PHP回应的div内容

I need to get a value inside a div content. After a button click and doing stuff on the server side, my PHP function does:

echo "0";

or

echo "1";

depending on what my function does. So let's say if it's 0, the AJAX response will be $("div#divResult").html(data); where I put the 0 in the div divResult.

What I am trying to do now is I want to execute a js function to read whether it's 0 or 1 in divResult.

This is how I execute it:

<div id="divResult"><script>getDivResult();</script></div>

And my js function:

function getDivResult()
{
    var result = $("div#divResult").text();

    if(result === "0")
    {
        alert("Badge Number already exists, please check again.");
    }
    else if(result === "1")
    {
        alert("Your details have been entered!")
        ADD_USER_POPUP.close;
    }
}

Somehow the getDivResult function is not executing. The 0 and 1 does display on in the div though. Any help on this? I've tried .html too by the way.

EDIT:

Here's the AJAX that I use for the button click and return the response from PHP which is either 1 or 0:

$.post(page, {
    name : name,
    badge_number : badge_number,
    category : category,
    priviledge : priviledge,
    action : "insert"
    }, function(data) {
    $("div#divResult").html(data);
    });

2nd EDIT:

    function insertRow($name, $badge_number, $priviledge, $category)
    {
    $table_info = "TBL_USER_LOGIN";
    $query_string = "select badge_number from $table_info where badge_number = $badge_number";
    $result = @mysql_query($query_string) or die (mysql_error());
    $checkBadge = mysql_num_rows($result);
    if($checkBadge>0)
    {
        //echo "Badge Number $badge_number already exists. Please check again.";
        echo "0";
    }
    else
    {
        $query_string = "insert into $table_info(name, badge_number, priviledge, category) values('$name', '$badge_number', '$priviledge', '$category')";
        $result = @mysql_query($query_string) or die (mysql_error());
        //echo "Your details have been entered! Please click on 'View Users' to display all users.";
        echo "1";
    }

?>

    <?php

    $action = rtrim($_REQUEST['action']);

    if($action=="delete")
    {
        $id  = rtrim($_REQUEST['id']);
        $order = $_REQUEST['order'];

        echo deleteRow($id);
        echo selectAll($order);
    }
    elseif($action=="insert")
    {
        $name = $_REQUEST['name'];
        $badge_number = $_REQUEST['badge_number'];
        $priviledge = $_REQUEST['priviledge'];
        $category = $_REQUEST['category'];

        echo insertRow($name, $badge_number, $priviledge, $category);
    }
    elseif($action=="update")
    {
        $order = $_REQUEST['order'];

        echo selectAll($order);
    }

?>
  • 写回答

7条回答 默认 最新

  • dsf1222 2015-06-05 07:49
    关注

    You shouldn't need to append the return data to the page at all. Why don't you run your function immediately after the AJAX request completes, like so:

    $.ajax({
      success: function(data) {
        if(data === "0") {
          alert("Badge Number already exists, please check again.");
        }
        else if(data === "1") {
          alert("Your details have been entered!")
          ADD_USER_POPUP.close();
        }
      }
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记