我有一个包含3个字段集的表单。如果用户想要转到第二个字段集,他可以执行此操作,或者单击“下一步”按钮或按Enter键,只有输入部分不能正常工作,因为它会激活输入按钮两次。
我也读过其他文章。但是当我专注并点击输入时(我使用此代码:
$("#msform").keypress(function(e) {
e.preventDefault()
if(e.which == 13) {
$(".next").click();
return false;
}
});
然后它进入这个功能:
$(".next").click(function (event) {
event.preventDefault();
//current_fs current fieldset
current_fs = $(this).parent();
next_fs = $(this).parent().next();
var fv = formValidation(event);
if (fv) {
} else {
return false;
}
但我一直这样做:
current_fs = $(this).parent();
next_fs = $(this).parent().next();
var fv = formValidation(event);
if (fv) {
} else {
return false;
}
2次。
我知道
因为当焦点在按钮上时点击“Enter”会触发“点击” 事件本地。您还可以获得“按键”活动 再次触发“点击”事件。
但即使是防止默认也不适用于我的情况。
我正在讨论的表单的常规HTML: http://jsfiddle.net/xvxpha7p/<请记住首先关注一个领域。
有人可以帮助谢谢
答案 0 :(得分:0)
您无法阻止点击事件,因此在点击输入时没有理由触发点击事件。您必须将您的逻辑放在click事件处理程序
中