我有一个表单,在使用jQuery点击按钮提交表单之后。
function validate(){
if($('#firstname').val() =="")
alert("Please enter your first name");
else if($('#lastname').val() == "")
alert("Please enter your last name");
else if( $('#association').val() == "")
alert("Choose your association");
else if($('#association_no').val() == "")
alert("Please enter your association number");
else
$('#register').submit();
}
$(function(){
$(".enter_submit").keyup(function(event) {
if(event.keyCode === 13)
validate();
})
})
警告框显示正常但我的问题是当我在显示警告框后按Enter键时,它会提供另一个警告框而不是摆脱警报(当我用鼠标单击确定时工作正常)。在FF中,它为#prevent提供了来自此页面的更多警报。所以我相信即使在显示警报后它仍然专注于表格。
答案 0 :(得分:0)
在显示警告框后指定返回False。这可能不会同时显示其他警告框。
function validate() {
if ($('#firstname').val() == "") {
alert("Please enter your first name");
return false;
}
else if ($('#lastname').val() == "") {
alert("Please enter your last name");
return false;
}
else if ($('#association').val() == "") {
alert("Choose your association");
return false;
}
else if ($('#association_no').val() == "") {
alert("Please enter your association number");
return false;
}
else {
$('#register').submit();
return true;
}
}
$(function () {
$(".enter_submit").keyup(function (event) {
if (event.keyCode === 13)
return validate();
});
});
希望这个帮助
由于 PRASHANT
答案 1 :(得分:0)
我使用模糊功能修复了这个
$(".enter_submit").keyup(function(event) {
$(this).blur();
if(event.keyCode === 13)
return validate();
})
我认为即使显示警报,文本字段仍然处于焦点位置,因此必须将其从焦点中移除,即模糊它。感谢所有回复的人。