我想通过按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然后专注于提交按钮。 还有其他办法吗? 感谢。
答案 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?