【发布时间】:2010-11-23 12:37:32
【问题描述】:
刚刚在输入表单 jQuery 脚本时执行此操作。在你开始泛滥之前“它还没有这样做吗?” - 是的,如果你有一个实际的提交按钮。
但我使用<a> 样式为按钮的标签来提交表单。除非禁用 javascript,否则 <noscript> 将显示一个实际的标准外观提交按钮。
它应该处理浏览器默认的自动完成功能,通过在按下向上/向下箭头键时暂时禁用输入时自动提交,这将在自动完成列表中向上/向下移动。
如果您看到任何警告,或有改进的想法,我们将不胜感激。
这是脚本
// Submit form if focus on inputfields and enter is pressed
// To handle autocomplete, we disable next enter if arrow up/down pressed and autocomplete is not turned off
$('form input:text, form input:password').keyup(function(e){
var arrowKeys = new Array(38, 40);
var key = e.charCode || e.keyCode || 0;
if(key == 13){
if($(this).data('entersubmit')) {
e.preventDefault();
$(this).closest('form').submit();
return false;
}
$(this).data('entersubmit', true);
} else if($.inArray(key, arrowKeys) > -1) {
if($(this).attr('autocomplete') != 'off') {
$(this).data('entersubmit', false);
}
}
})
.blur(function(){
$(this).data('entersubmit', true);
})
.focus(function(){
$(this).data('entersubmit', true);
});
【问题讨论】:
-
我可能会省略 onFocus 或 onBlur
标签: jquery user-interface webforms