这是一个将自身连接到 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/