如何添加shift + enter键进入下一行,按Enter键进入提交按钮?

时间:2018-04-19 10:39:56

标签: javascript html css

我想添加shift + enter键以转到下一行,只需enter key来触发提交按钮,仅使用 JAVASCRIPT

如何实现它?

我也希望多行提交文本...... 提前致谢

function typo() {
  if (document.getElementById("myText").value.trim().length == 0) {
     document.getElementById("myText").focus();
    
  } 
  else 
  {
    var currentText = document.getElementById("demo").innerHTML;
    var x = '<div><p class=bubble>' + document.getElementById("myText").value + '</p></div>';
    document.getElementById("myText").value = "";
    var y = document.getElementById("demo").innerHTML = currentText + x;

    var z = document.getElementById('demo');
    z.scrollTop = z.scrollHeight;
   
    document.getElementById("myText").focus();  
  }
}
  
  var input = document.getElementById("myText");
  input.addEventListener("keyup", function(event)
   {
    event.preventDefault();
  if (event.keyCode === 13 && input.value.trim().length >0)
   {
    
      document.getElementById("btn-chat").click();

    }
  });
  <div id="demo"></div>
 
<textarea class="widebox" type="text" id="myText" value=""></textarea>
<button onclick="typo()" class="btn btn-warning btn-sm" id="btn-chat">Send</button>
</div>

1 个答案:

答案 0 :(得分:1)

提问=一个问题。现在开始;)

对于第一个问题,您必须控制默认行为

$("textarea").keydown(function(e){
    // Enter was pressed + shift key
    if (e.keyCode == 13 && e.shiftKey)
    {
        // prevent default behavior
        e.preventDefault();
    }
});

对于第二个问题,您应该添加:

// "Enter" key on the keyboard is 13 keyCode
if (event.keyCode === 13) {
    // Trigger the button element with a click
    document.getElementById("myBtn").click();
}