我正在尝试创建一个简单的实时LAN消息传递Web应用程序。我正在使用HTML,CSS,Javascript,Socket.io和JQuery来执行此操作。我之前已经构建了类似的应用程序,所以我对这些类型的项目有一些经验。我不知道为什么,但每次我尝试执行任何javascript命令时,它都不起作用。我有一个按钮试图启动一个名为joingame()的函数。它说该功能未定义。我还尝试将一个变量定义为"测试值",并且它不断出现为''。如果有人能帮助我,那就太好了!它可能是非常基本的东西,但我无法弄明白。谢谢!
<!DOCTYPE HTML>
<html>
<head>
<style>
#start {
width: 400px;
height: 120px;
border: 1px solid black;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translateY(-50%) translateX(-50%);
}
#chat {
width: 80%;
height: 80%;
border: 1px solid black;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translateY(-50%) translateX(-50%);
}
</style>
</head>
<body>
<div id="start">
<center>
<h2>Enter your username below:</h2>
<input type="text" placeholder="Username here..." id="usernameid" />
<input type="button" value="Submit" onclick="joingame()" >
</center>
</div>
<div id="chat" style="display: none;">
<center>
<div id="chatbox">
<div id="inputarea">
<textarea id="chatinp" placeholder="Enter message here..." cols='50' rows='2' />
<input type="button" value="Send" onclick="sendchat()" id="sendbut" />
</div>
</div>
</center>
</div>
<script src="socket.io.js"></script>
<script src="jquery-3.2.0.js"></script>
<script type='text/javascript'>
var socket = io();
var usernameasdf = "test value";
function joingame() {
usernameasdf = document.getElementById("usernameid").value;
socket.emit('player', usernameasdf);
document.getElementById("start").style.display = "none";
document.getElementById("chat").style.display = "inline";
}
socket.on('player', function(name) {
alert(name);
});
function sendchat() {
alert("chat sent");
}
</script>
</body>
</html>
答案 0 :(得分:1)
Textare
不是自我关闭。检查this SO answer
当我更改结束标记时,它在firefox中为<textarea id="chatinp" placeholder="Enter message here..." cols='50' rows='2'></textarea>