当按Enter键时,文本框将向下一行而不是调用函数

时间:2019-06-15 14:31:52

标签: php jquery html sql datatables

我正试图建立一个消息网站(出于学校目的)。
我想发生的是,当用户按下 Enter 时,文本框中的文本将发送到名为TInsertMessage.php的PHP页面,并设置文本框到“”。
相反,当我按Enter键时,文本框只会向下一行。

DisplayMessages.php
$(document).ready(function() {

  $("#ChatText").keyup(function(e) {
    //when we press enter
    if (e.keycode == 13) {
      var ChatText = $("#ChatText").val();
      $.ajax({
        type: 'POST',
        url: 'InsertMessage.php',
        data: {
          ChatText: ChatText
        },
        success: function() {
          $("$ChatMessages").load("DisplayMessages.php");#
          ("ChatText").val("");
        }
      });
    }
  });

  setInterval(function() {
    $("#ChatMessages").load("DisplayMessages.php");
  }, 1500);

  $("#ChatMessages").load("DisplayMessages.php");
});

1 个答案:

答案 0 :(得分:0)

当您检查密钥时,它需要是e.keyCode而不是e.keycode 还有很多其他错别字

  $("$ChatMessages").load("DisplayMessages.php");
  #("ChatText").val("");

例如应该是:

  $("ChatMessages").load("DisplayMessages.php");
  $("ChatText").val("");

可能还有更多内容,因此请检查语法

工作片段:

$(document).ready(function(){
    $("#ChatText").keyup(function(e){
        //when we press enter
        if(e.keyCode === 13)
        {
            var ChatText= $("#ChatText").val();
            $("#ChatText").val("");
        }
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="ChatMessages" class="scrollbar">
    <textarea id="ChatText" name="ChatText" placeholder="Type Message..."></textarea>
</div>