5

我正在制作一个聊天网络应用程序,要发送一条消息,有一个input type="text"和一个input type="button",使用 JavaScript 中的一个函数,我设法通过添加onclick="sendMessage()"作为属性来解决它input button,但我需要点击它,但我想要它要像任何聊天信使或应用程序一样工作,客户端会写下一些内容并按 ENTER 键,如果我使用 a<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 回答