Shift + Enter按钮用于提交表单

时间:2012-02-03 05:32:53

标签: php javascript html

我想使用shift + enter按钮提交表单,而不是按一下简单的Enter按钮。 Pl帮帮我

4 个答案:

答案 0 :(得分:2)

如果您仍然想要这样做,尽管这会带来可用性问题......

$('#form').keydown(function(e) {
    if( e.keyCode === 13 && e.shiftKey ) {  // When "Shift + Enter"
        $(this).trigger('submit'); 
    } else { e.preventDefault(); }
});

答案 1 :(得分:0)

你试过吗?

$(document).keydown(function(e) {
    if(e.keyCode==13 && e.keyCode==16){  // 13=enter  16=shift
       //submit here
       alert('submit now');
    }
    else{
       e.preventDefault();
    }

});

答案 2 :(得分:0)

我建议使用CTRL + ENTER提交表单。这样用户体验会更好。

<script language=javascript>
ie = (document.all)? true:false
if (ie){
function ctlent(eventobject){if(event.ctrlKey && window.event.keyCode==13){this.document.form1.submit();}}
}
</script>

<form action="http://www.TOMMYHU.CN" method=POST name=form1>
<textarea cols=95 name=Content rows=12 wrap=virtual onkeydown=ctlent()>
</textarea>
<input type=Submit value="Submit" name=Submit>
</form>

答案 3 :(得分:0)

改善赵小虎的想法:

<form action="." method="POST">
  <textarea name="text"></textarea><br />
  <button>Submit</button>
</form>

<script>
  var textareas = document.getElementsByTagName("TEXTAREA");
  for (var i = 0; i < textareas.length; ++i) {
    textareas[i].addEventListener('keydown', function(ev) {
      if(ev.ctrlKey && ev.keyCode === 13){
        this.form.submit();
      }
    });
  }
</script>

此...

  • 是纯粹的Javascript
  • 将自己附加到所有textareas,并提交正确的表格
  • 仅适用于现代浏览器,但可能会扩展为使用更多浏览器