我正在开发一个小项目。我创建了一个php页面,只要点击一个名为sendMessage的函数按钮就会被执行但是它显示我未被捕获的引用错误
我的错误
未捕获的ReferenceError:未在HTMLInputElement.onclick中定义sendMessage 第29行。最后点击电话
这是我的js文件,名为chat.js
function btn() {
var s = document.getElementById("chat_id");
var o = s.options[s.selectedIndex].value;
var x = document.getElementsByClassName("chat");
x[0].style.display = "inline-block";
x[1].innerHTML = "<span>" + "Chatting with:" + o + "<span>";
}
function sendMessage() {
var msg = document.getElementById("msg").value;
if (msg.length === 0 || msg === "") {
alert("please enter some message");
return;
}
var sender = document.getElementById("username").value;
var sendto = document.getElementById("chat_id").options[document.getElementById("chat_id").selectedIndex].value;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 400) {
document.getElementById("chat_logs").innerHTML = xhttp.responseText;
}
xhttp.open('GET', 'send_messages.php?sender=' + sender + 'sendto=' + sendto + 'message=' + msg, true);
xhttp.send();
}
}
function test() {
alert("lol");
}
我的PHP代码
<?php
include ('db.php');
session_start();
if(empty($_SESSION['user_logs'])){ //check if user session is set
header('Location:login.php'); //redirect to login page if user session is not set
}
?>
<!DOCTYPE html>
<html>
<head>
<title>chat box</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script type="text/javascript" src="chat.js"></script>
<link rel="stylesheet" href="chatbox.css" />
</head>
<body>
<div class="container cont">
<p>
<a href="logout.php">Logout <?php echo $_SESSION['user_logs']; ?></a>
</p>
<input type="hidden" id="username" value=<?php echo $_SESSION[ 'user_logs']; ?>>
<p>
<label for="chatwith">Chat with:</label>
<select name="chat_user" id="chat_id" class="selectpicker">
<option disabled selected>select</option>
<?php
$current_user=$_SESSION['user_logs'];
$rows=mysqli_query($con,"select username from users where username!='".$current_user."'");
while($rowsArray=mysqli_fetch_array($rows)):
?>
<option value=<?php echo $rowsArray[ 'username']; ?>>
<?php echo $rowsArray['username']; ?>
</option>
<?php endwhile;?>
</select>
<input type="button" id="btn_chat" name="toggle" value="chat" class="btn btn-info" onclick="btn();" />
<div id="chat_div" class="chat">
<span class="chat">Chatting with:</span>
<div class="chat" id="chat_logs"></div>
<div class="chat" id="input">
<textarea value="" placeholder="Enter message" id="msg" name="message" required maxlength="150"></textarea>
<input type="button" id="btn-send" class="btn btn-primary" value="send" onclick="sendMessage();" />
</div>
</div>
</div>
</body>
</html>