按Enter键提交表单时使用Markdown

时间:2016-01-20 17:16:07

标签: javascript jquery forms markdown

我有一个Rails项目,我想在一个使用回车键提交表单的表单中使用Markdown。我不知道这是否可行,因为输入Markdown是为了换行。只是想知道我是否遗漏了什么。据我所知,如果我想使用Markdown,我必须在表单中使用提交按钮。

如果我真的想在我的表单中使用回车键作为提交的Markdown功能,我想我必须专门编写每个东西。类似的东西:

$("textarea").keydown(function(e){
    // Enter was pressed with shift key
    if (e.keyCode == 13 && e.shiftKey)
    {
        // add <br> to html $("textarea").val();
        // prevent default behavior
        e.preventDefault();
    }
});

只是想确保我正在吠叫正确的树。谢谢!

1 个答案:

答案 0 :(得分:2)

我认为如果您有一个带Markdown的表单,您肯定需要一个按钮来提交表单。 如果我看到多行文本区域(即使没有Markdown),我希望Enter添加一个新行,而不是提交表单。

检查它在其他网站上的工作方式,例如:

enter image description here

更新:好的,如果你必须这样做,我认为这可以做到。 我们的想法是在没有Shift的情况下按Enter键提交表单(并防止默认,因此输入不会转到文本)。并且Shift + Enter插入新行(看起来它只是工作,不需要做任何事情)。

示例代码:

&#13;
&#13;
$("textarea").keypress(function(e){
    //alert('key:' + e.keyCode);
    // Enter was pressed with shift key
    if (e.keyCode == 13 && !e.shiftKey)
    {
        e.preventDefault();
        $('form').submit();
    }
});
$("form").submit(function(e) {
  alert('submitted');
  e.preventDefault();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
  <form>
    <textarea></textarea>
  </form>
</body>
&#13;
&#13;
&#13;