在textarea的keypress上提交表单

时间:2015-02-02 16:03:52

标签: javascript jquery submit enter onkeyup

我一直在尝试做一些基本的事情,比如在输入上提交textarea(和shift + enter),这真的让我感到困惑 - 我已经在这个问题上讨论了Stackoverflow上的先前主题但没有先前的解决方案似乎可以做到这一点。 $('#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>

1 个答案:

答案 0 :(得分:1)

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

更改

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