如何通过按Enter键提交输入表单但是在按下shift和enter时不提交输入表单

时间:2015-03-18 17:32:29

标签: javascript jquery forms

我正在创建一个脚本,通过按Enter键我可以提交表单,但是当我按Shift + Enter时我不希望它提交表单。相反,当我按Shift + Enter时,我希望输入扩展就像Facebook评论一样。

到目前为止,我可以通过按此键

来提交表单
<script>
$(document).ready(function() {
$('#comment').keyup(function(e)
    {
        if(e.keyCode == 13)
        {
        var comment = $('#comment').val()
        var sid = $('#sid').val()
            if(comment == "")
            {
                /*alert("Please write something in comment.");*/
            }
            else
            {
                $("#commentbox").append("<div class='commentarea'>"+comment+"</div>");
                $.post("index.php", {sid:sid,comment:comment},function(data)
                {

                })
                $('#comment').val("");
            }
        }
    });            
});
</script>

问题和疑问 使用此代码,当我按Shift and Enter时,显然Jquery会将其识别为Enter而不是Shift and Enter,因此会验证表单。

如何让jquery区分Shift + EnterEnter,如何仅在按下Enter时才使jquery提交表单?

1 个答案:

答案 0 :(得分:3)

您可以使用event.shiftKey

来捕捉Shift键
$('#comment').keyup(function(e) {
    if(e.keyCode === 13 && e.shiftKey) {
         // do stuff
    }
...