如何在用户点击输入时允许触发表单,但仅当该字段处于焦点时?这就是我现在所拥有的,但是在任何地方按下输入(显然)都会触发表格。
jQuery(window).bind('keypress', function(e){
if ( e.keyCode == 13 ) {
jQuery("#goform").click();
e.preventDefault();
}
});
答案 0 :(得分:3)
尝试将.bind放在元素上,而不是整个窗口:
jQuery('#elementID').bind('keypress', function(e){
if ( e.keyCode == 13 ) {
jQuery("#goform").click();
e.preventDefault();
}
});
如果您的字段标识为elementID
。当然,您可以通过姓名,标记名或使用任何其他jQuery Selector来接近该字段。
答案 1 :(得分:1)
您应该使用选择器选择表单元素并将keypress()
方法分配给该对象:
$('#idOfFormInputElement').keypress(
function(e){
e.preventDefault();
e.stopPropagation();
if (e.keyCode == 13) {
$(this).closest('form').submit();
}
});
如果动态添加元素,则可以使用delegate()
代替:
$('#idOfFormElement').delegate('#idOfFormInputElement', 'keypress',
function(e){
e.preventDefault();
e.stopPropagation();
if (e.keyCode == 13) {
$(this).closest('form').submit();
}
});
答案 2 :(得分:0)
使用jQuery('#{insert-your-form-field-id}')
代替jQuery(window)
答案 3 :(得分:0)