按Enter键后如何调用onclick功能

时间:2012-08-23 21:24:56

标签: javascript jquery

我正在制作聊天网络应用程序,发送消息,有input type="text"input type="button",使用JavaScript中的功能,我设法通过添加onclick="sendMessage()"来解决问题作为input button的一个属性,但是我需要点击它,但我希望它像任何聊天信使或应用程序一样工作,客户端写下来并点击ENTER键,如果我使用了{{ {1}}和<form onsubmit="sendMessage()">但页面会刷新,我该怎么做?

4 个答案:

答案 0 :(得分:4)

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

这会阻止向服务器发送请求的默认操作。

答案 1 :(得分:2)

您必须挂钩文本框的onkeypress / up / down事件。 这应该让你开始: Enter key press event in JavaScript

答案 2 :(得分: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>

答案 3 :(得分:1)

这种情况你也想要从发布到服务器禁用输入按钮并执行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();"/>