在文本区域中的按键上提交表单

Submit form on keypress in textarea

我一直在尝试做一些基本的事情,比如在输入时提交文本区域(和 shift+enter),这真的让我很困惑——我已经在 Whosebug 上查阅了之前关于这个问题的主题,但没有以前的解决方案似乎可以解决问题。 $('#form').submit(); 不应该做这项工作吗? this.form.submit();document.getElementById("form").submit(); 似乎都没有提供解决方案,尽管此时我可能搞砸了。

I've created a jsFiddle 以便尝试一下。很可能这是一个非常根本的错误,我会为此感到尴尬,但遗憾的是,我花了太多时间在它上面,以至于我不能再用新鲜的眼光看待它了。

<form id="form" name="form" method="post">
    <textarea id="contentsubmit" name="contentsubmit" class="no-formatting contentsubmit" type="text" placeholder="textfield for submitting textcontent"></textarea>
    <input id="submit" type="submit" name="submit" value="Send" />
</form> 

<script>
$(document).ready(function(){
    $('#contentsubmit').keypress(function(e) {
      if(e.which == 13) {
           $('#form').submit();
           // this.form.submit(); 
           // document.getElementById("form").submit(); 

           console.log('log me!');
           e.preventDefault(); // Stops enter from creating a new line
       }
    });
});
</script>

您需要重命名您的提交按钮,您正在覆盖提交方法。

改变

<input id="submit" type="submit" name="submit" value="Send" />

<input id="btnSubmit" type="submit" name="btnSubmit" value="Send" />

并改变

$('#form').submit();

$('#form')[0].submit();

$('#form').get(0).submit();