Piyush Pagariya
Piyush Pagariya

Reputation: 15

Shift+Enter button used for submitting form

i want to submit a form using shift+enter button instead of pressing a simply Enter Button. Pl help me out

Upvotes: -1

Views: 1164

Answers (4)

fboes
fboes

Reputation: 2239

Improving on zhaixiaohu's idea:

<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>

This…

  • is pure Javascript
  • attachs itself to all textareas, and submits the correct form
  • works only in modern browsers, but might be extended to work with more browsers

Upvotes: 0

elclanrs
elclanrs

Reputation: 94101

If you still want to do this despite the usability problem that this poses...

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

Upvotes: 2

tibc-dev
tibc-dev

Reputation: 983

Have you tried?

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

});

Upvotes: 0

zhaixiaohu
zhaixiaohu

Reputation: 84

I suggest use CTRL+ENTER to submit form。So that the user experience will be better。

<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>

Upvotes: 0

Related Questions