Jquery对话框通过Enter键提交表单

时间:2014-08-22 14:26:18

标签: javascript jquery html forms

我想通过按Enter键为Jquery对话框提交表单。

HTML

<!-- Pin Notification Form -->
<div id="pin-dialog-form" title="Verification Pin">
   <div id="agent_pin_container">
      <input type="password" name="verification_pin" id="verification_pin"
      value="" class="form-control" placeholder="Verification Pin" />
</div>
</div>

JQUERY

$( "#pin-dialog-form" ).dialog({
autoOpen: false,
height: 200,
width: 300,
modal: true,
buttons: {
    "Submit": function() {
        // PROCESS
    },
    Cancel: function() {
        $( this ).dialog( "close" );
    }
},
close: function() {
    $( this ).dialog( "close" );
}
});

现在,我不能在这里使用这种类型的代码if (e.keyCode == 13) {。因为,表单是由模态窗口本身提交的。另一方面我不能用这个,

open: function() {
  $(this).parents('.ui-dialog-buttonpane button:eq(0)').focus(); 
}

因为,我需要首先输入PIN然后专注于提交按钮。 还有其他办法吗? 感谢。

1 个答案:

答案 0 :(得分:2)

根据评论,您应该能够使用以下方式获取整个文档的按键:

$(document).keypress(function(e){
  if (e.keyCode == 13) {
    // CODE TO SUBMIT THE FORM either AJAX or *form*.submit()
    // CODE TO CLOSE THE MODAL
  }
});

来源:

Submitting a form on 'Enter' with jQuery?

Capture key press without placing an input element on the page?