2017-03-30 17 views
0

簡単なLANライブメッセージングWebアプリケーションを作成しようとしています。私はこれを行うには、HTML、CSS、Javascript、Socket.io、JQueryを使用しています。これまでも同様のアプリケーションを構築していますので、これらのタイプのプロジェクトでいくつかの経験があります。なぜ私は考えていないが、javascriptコマンドを実行しようとするたびに動作しない。 joingame()という関数を起動しようとするボタンがあります。この関数は未定義であると言います。私は変数を "テスト値"として定義しようとしましたが、それは引き続き ''としています。もし誰かが私を助けることができたら、それは素晴らしいだろう!それはおそらく何か本当に基本的なものですが、私はそれを理解することはできません。ありがとうございました!JavaScript/Socket.io WebアプリケーションがJSコマンドを実行していません

<!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> 
+1

具体的には、あなたが依存している2つのライブラリ(ioとjquery - なぜjqueryを使用していない場合はjqueryをロードするのですか?) - そのコードは明らかに不完全です。 –

+1

これらのスクリプトをsrcブロックでheadに移動し、スクリプトブロックをbodyタグの先頭に移動してください –

+0

@JaromandaX、いいえロードしていないライブラリについてはエラーは発生していません。私はこのプロジェクトの初期段階にありますので、すぐにJQueryが必要になります。そして、ホストされている方法では、コーディングでSocket.ioサーバーとの接続を作成する必要はありません。私はそれがサーバーへのライブ接続に成功したことを確認できます。 –

答えて

1

Textareは自己閉鎖ではありません。チェックthis SO answer 私は閉鎖タグを変更したとき、それは私のためにFirefoxの中で働いた<textarea id="chatinp" placeholder="Enter message here..." cols='50' rows='2'></textarea>

+0

と言いましたが問題ありました。なぜ私はそれが私がそれを書いたときに自己閉鎖だと思ったのかわかりません。助けてくれてありがとう! –

関連する問題