javascript - 按下回车键时提交表单

标签 javascript php jquery html ajax

我目前有一个实时聊天室正在运行,我刚刚询问了一些用户我可以做些什么来让聊天室变得更好。多次被问到的一件事是......

“您能否添加一项功能,即按下回车按钮将发送我的消息,而不是在文本框中添加新行?”

我试图从 StackOverflow 上的另一篇文章中应用一些 jQuery,但无法让它工作。这是我当前的代码...

jQuery:

<!-- jQuery for submitting form -->
<script>
var msgForm = false;

      $(function () {

    $('.expand').keyup(function(event) {
        if (event.keyCode == 13) {
        this.form.submit();
            msgForm = true;
            return true;
         }
    });

    if( msgForm = true ) {
        $('#formSend').on('submit', function (e) {

          e.preventDefault();

          var formData = $('form').serialize();
          $('.expand').prop("disabled", true)

          $.ajax({
            type: 'post',
            url: 'send.php',
            data: formData,
            success: function () {
              $(".expand").val('');
              $('.expand').prop("disabled", false) 
            }
          });

        });
        }

      });

    </script>

这里 ^^ 发出 Ajax 请求来发送消息,因此不像通常的表单那样涉及页面刷新。

如果需要,这里是表单的 HTML 标记...

  <form action="send.php" method="post" name="formSend" id="formSend" />
     <textarea id="styled" class="expand" name="msg" placeholder="Your Message Here" onfocus:"setbg(\'#e5fff3\');"required></textarea>
     <input type="submit" name="submit" value="Send" class="send" />
  </form>

最佳答案

我刚刚在 jsfiddle 中对此进行了测试,它工作正常。

html:

<form>
    <textarea></textarea>
    <input type="submit" value="Submit"/>
</form>

JavaScript:

$("textarea").keyup(function(event){
    if(event.keyCode == 13){
        $("form").submit();
    }
});

$("form").on('submit', function(e){
    e.preventDefault();
    alert('abcde');
});

Demo

关于javascript - 按下回车键时提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543509/

相关文章:

javascript - 在 javascript 的鼠标悬停/鼠标移开与 css 的悬停上悬停在 div 标签上时,其他一些元素发生了变化

javascript - Ajax 请求循环并等待直到完成

javascript - 在这里使用 switch/case 语句是否可行

javascript - 将 string.prototype.replace 与正则表达式和函数一起使用

javascript - 尝试在 JS 中按类隐藏元素,但收到 "cannot set property ' class' of undefined”错误

javascript - Web Worker 内部的 DOM 操作

php - 避免返回到页面顶部

php - 将空字符串插入 MySQL 5 中的 auto_increment 列

javascript - 查找包含具有特定属性的对象的数组的名称

php - 应使用哪些 HTTP 状态代码来为下载管理器提供建议?