簡體   English   中英

當我有按鈕而不是提交時如何使用回車鍵提交表單

[英]How to submit form with enter key when I have a button, not a submit

我有一個帶有按鈕提交類型的表單,我希望它在按下 Enter 鍵時提交。 我不知道如何使用提交表單時調用的 JS 函數來實現這一點。

形式:

<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();

    }

在文檔中附加keydown事件並在按下Enter 時調用您的函數

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

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

});

使用真正的提交按鈕並將您的 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

這應該有效:

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

keyCode 13 是回車鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM