php - JavaScript 函数显示 "Uncaught Reference Error"

标签 php javascript mysql

这是一个将自身连接到 MySQL 数据库的 PHP 代码。交易是,它显示数据库中存储的姓名列表。我需要做的是,当点击时,这些名字应该显示一个自己的聊天框(与 Facebook 中的相同)。

这里的问题出在箭头标记的那一行。当单击特定名称时,它应该调用函数 display_chat_box,但事实并非如此。它运行良好,直到我没有在其中添加 studentid 参数。我怀疑函数 chat_box_number() 作为其中的参数发送,但它确实没有帮助我。之前还好好的,为什么现在不行了呢?我打开 Google Chrome 中的开发者工具来检查错误,它显示

**Uncaught ReferenceError : display_chat_box() is not defined**.

我不明白为什么?其他人可以吗?无论存在什么问题,任何人都可以发布一个可行的解决方案,以便我可以使聊天框恢复生机。

<?php
$con = mysql_connect("localhost", "****", "******");
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM online_students");
while ($row = mysql_fetch_array($result)) {
    $result2 = mysql_query("SELECT * FROM students WHERE email='$row[email]'");
    $row2 = mysql_fetch_array($result2);
    $name = $row2['firstname'] . " " . $row2['lastname'];
    $studentid = $row2['studentid'];
    echo "<li onclick='display_chat_box(chat_box_number(),\"" . $name . "\"," . $studentid . ")'>" . $name . "</li>";
}
mysql_close($con);
?>

<script src="jquery-1.9.1.min.js" type="text/javascript">
    var n = 0, chat_wid;
    function chat_box_number() {
        if (n == 2)
            n = 0;
        n++;
        return n;
    }

    function display_chat_box(j, name, studentid) {
        alert("hi");
        switch (j) {
            case 1: {

                document.getElementsByClassName("chat_box1")[0].style.display = "block";
                document.getElementById("chat_with1").innerHTML = name;
                break;
            }
            case 2: {
                document.getElementsByClassName("chat_box2")[0].style.display = "block";
                document.getElementById("chat_with2").innerHTML = name;
                break;
            }
            case 3: {
                document.getElementsByClassName("chat_box3")[0].style.display = "block";
                document.getElementById("chat_with3").innerHTML = name;
                break;
            }
        }
        chat_wid = studentid;
        update_chat();
    }
</script>

最佳答案

undefined reference 的问题是因为你错过了

<script>

标记将其放在后面

<script src="jquery-1.9.1.min.js" type="text/javascript">.

提示:如果您使用自己的方法选择元素,为什么要使用 jQuery lib。 我给你举个简单的例子

相反

document.getElementsByClassName("chat_box1")[0].style.display="block";

使用

$(".class")[n].css("display","block");

相反

document.getElementById("chat_with3").innerHTML=name;   

使用

$("#id").html(name);

关于php - JavaScript 函数显示 "Uncaught Reference Error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16044429/

相关文章:

mysql - 两个表的sql命令怎么写?

mysql - 无法通过 SonarQube WS API 找到所有问题

php - 另一个文件夹中的错误 404

php - Symfony2 : Add method to an Entity

PHP while(true) 循环用于文件更新

javascript - Project Euler #5 JavaScript - 解决方案在我的代码中出现一个大错误

php - 根据另一个选择选项从数据库提供选择选项

javascript - 第一级后内容导航中断

javascript - 从 javascript 引用时,内联 CSS 不起作用

php - 安装 Drupal 7 时的数据库配置