5

チャットWebアプリケーションを作成していて、メッセージを送信するために、JavaScriptの関数を使用しinput type="text"て、の属性としてinput type="button"追加することでうまくいくことができましたが、クリックする必要がありますが、欲しいですチャットメッセンジャーやアプリのように機能させるには、クライアントが何かを書き留めてEnterキーを押します。これは、を使用した場合に機能する可能性がありますが、ページが更新されます。どうすればよいですか?onclick="sendMessage()"input button<form onsubmit="sendMessage()">input type="submit"

4

4 に答える 4

4
 <form onsubmit="sendMessage();return false">

これにより、サーバーにリクエストを送信するデフォルトのアクションが妨げられます。

于 2012-08-23T21:27:15.227 に答える
3

この場合に備えて、Posting to server から Enter ボタンを無効にし、Js スクリプトを実行することもできます。

<input type="text" id="txtSearch" onkeydown="if (event.keyCode == 13)
{document.getElementById('btnSearch').click(); return false;}"/>
<input type="button" id="btnSearch" value="Search" onclick="doSomething();"/>
于 2015-04-02T09:42:56.377 に答える
2

テキストボックスの onkeypress/up/down イベントにフックする必要があります。これで始められるはずです: JavaScriptでキープレスイベントを入力してください

于 2012-08-23T21:28:53.937 に答える
2

クリックの代わりに onkeydown() (またはセマンティクスに応じて keyPress または keyUp) を使用します - これにより、必要な event.keyCode を持つイベントが取得されます - 13 - そして、AJAX リクエスト (つまり、XMLHttpRequest) を使用して簡単に送信できます。

簡単なコード: - 生の Javascript、JQuery は必要ありません:

<html>
<script>
function keyPress(e)
{
if (!e) e = window.event; // needed for cross browser compatibility
alert(e.keyCode); // You want 13 here , so 
 // if (e.keyCode == 13)
 //  etc..

// return true; or false, if you want to cancel event

}
</script>
<body>
<input type="text" onkeydown="keyPress()" size="20"/>xx

</body>
</html>
于 2012-08-23T21:32:31.467 に答える