Javascript 按enter键将消息从输入字段发送到数据库
我做了一次网络聊天,代码如下:Javascript 按enter键将消息从输入字段发送到数据库,javascript,html,Javascript,Html,我做了一次网络聊天,代码如下: <div id="namebox">Name: <input type="text" id="name" autofocus autocomplete="on" ></div> <div id="msgbox" >Message: <input type="text" id="message"></div> <div id="submitbox"><button onC
<div id="namebox">Name: <input type="text" id="name" autofocus autocomplete="on" ></div>
<div id="msgbox" >Message: <input type="text" id="message"></div>
<div id="submitbox"><button onClick="postMessageToDB(); return false;" id="submit">Submit</button></div>
名称:
信息:
提交
因此,通过点击submit按钮,消息可以很好地进入数据库,但是我想输入一个代码来按下enter键,然后它就会被发送出去,所以有两个选项
我正在使用onClick和onKeypress,但它不起作用
<div id="submitbox"><button onClick="postMessageToDB(); return false;" id="submit" onkeypress="postMessageToDB(this, event); return false;">Submit</button></div>
提交
其中javascript是:
<script type="text/javascript">
function postMessageToDB(inputElement, event) {
if (event.keyCode == 13) {
inputElement.div.submit();
}
}
</script>
函数postMessageToDB(inputElement,事件){
如果(event.keyCode==13){
inputElement.div.submit();
}
}
我没有使用表单,因为它被要求是div,而不是表单
非常感谢您的帮助。
非常感谢您提供的代码只有在调用
postMessageToDB()
时才有效。。。它不是在听按键
使用jQuery:
您需要调用该函数,您可以通过向文档添加EventListener,然后检查是否按下了enter键来完成此操作
var keyevent = (/Firefox/i.test(navigator.userAgent)) ? "keypress" : "keydown"; // fit browser
document.addEventListener(keyevent, function(e) {
if (event.keyCode == 13) {
var a = document.getElementById('name').value; //get field values
var b = document.getElementById('message').value; //get field values
postMessageToDB(inputElement, event); // as I said, not sure what this will do, but you need to get the data you want to pass first within this function.
}
});
然后,只需从你的功能中删除按键检查,你应该检查这一行,我看不出这会起作用:
inputElement.div.submit();
如何进入数据库?单击“提交”按钮保持div chatlog加载而不显示以前插入数据库的内容=/它允许我通过按enter键显示以前插入数据库但不起作用的消息。是的,因为按enter键不会提交此消息。您希望提交哪些字段@Hugoneeded submit
div name
和div message
将如下显示:[Hugo]06:07pm-…测试点击提交,你需要ajax调用还是什么?我不这么认为!Java应该很好!我以前做过,但我不知道我做错了什么!整个网络聊天功能都很好,但当我添加此功能时,它就不起作用了,我的意思是,整个功能一直在运行,只需按一下键
inputElement.div.submit();