如果我有一个按钮而不是提交,如何使用回车键提交表单

时间:2016-05-30 10:19:21

标签: javascript jquery html ajax forms

我有一个带有按钮提交类型的表单,我希望它在按下回车键时提交。我不知道如何使用我在提交表单时调用的JS函数来实现它。

FORM:

<form name="form1">
<textarea name="msg" id="message">
</textarea>
<p id="button">
<input type="button" value="Enter" onclick="submitChat()" id="innerbutton"></p>   

JS功能

 function submitChat() {


    var uname = document.getElementById('nameplace').innerHTML

    var msg = form1.msg.value;
    var xmlhttp = new XMLHttpRequest();

    var badname = uname.charAt(0); 

    if (msg != "" & badname != "<") {
    xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState==4&&xmlhttp.status==200) {
    document.getElementById('chatlogs').innerHTML = xmlhttp.responseText;
            }

    }
    xmlhttp.open('GET','insert.php?uname='+uname+'&msg='+msg,true);
    xmlhttp.send();

    }

3 个答案:

答案 0 :(得分:1)

使用真实的提交按钮,将JavaScript从其点击事件移动到表单的提交事件。防止表单提交的默认行为,以便不会发生正常提交。

<form id="form1">
<textarea name="msg" id="message">
</textarea>
<p id="button">
    <input type="submit" value="Enter">
</p>   

document.getElementById("form1").addEventListener("submit", submitChat);

function submitChat(event) {
    event.preventDefault();
    // etc

答案 1 :(得分:1)

keydown事件附加到文档中并在按下 Enter 时调用您的函数

$(document).on("keydown",function(e){

   var keyCode = e.which || e.keyCode;
   if(keyCode == 13) // enter key code
   {
      submitChat();
   }

});

答案 2 :(得分:0)

这应该有效:

document.getElementById('innerbutton').onkeydown = function(e){
   if(e.keyCode == 13){
     // your submit function call here
   }
};

keyCode 13是 Enter key。

相关问题