我有一个效果很好的脚本,但我有一个小问题。
我刚刚添加到我的脚本中:
if (isError) {
$('html, body').animate({
scrollTop: 0
}, 2500);
} else {
$("#error-div").hide();
}
现在我遇到了问题。当我在输入中输入内容时,最后一个输入验证集$('#input_1 input')隐藏了错误div。所有其他输入都是红色的背景更改,但error-div消失 - 只有当我从#input1中移除错误时才会消失,这是脚本中的最后一个。
如果该输入中只有错误,则最后一个输入将关闭div错误。
无法弄明白。任何建议都会很棒。
$(function () {
$('#rbSubmit').formValidator({
scope: '#form_register',
onError: function () {
var isError = false;
if ($('#input_38 textarea').hasClass('error-input')) {
isError = true;
$('#r38 div').css('background-color', '#C1272D').css('color', '#FFF');
$("#error-div").show();
} else {
$('#r38 div').css('background-color', '#2F2F2F');
$("#error-div").hide();
}
if ($('#input_39 input').hasClass('error-input')) {
isError = true;
$('#r39 div, #r39 input').css('background-color', '#C1272D').css('color', '#FFF');
$("#error-div").show();
} else {
$('#r39 div').css('background-color', '#2F2F2F');
$("#error-div").hide();
}
// LAST DIV ALONE WILL TURN OFF THE div-error!!! HELP!!!
if ($('#input_1 input').hasClass('error-input')) {
isError = true;
$('#r1 div, #r1 input').css('background-color', '#C1272D').css('color', '#FFF');
$("#error-div").show();
} else {
$('#r1 div').css('background-color', '#2F2F2F');
$("#error-div").hide();
}
if (isError) {
$('html, body').animate({
scrollTop: 0
}, 2500);
} else {
$("#error-div").hide();
}
}
});
});
答案 0 :(得分:0)
尝试给error-div一个z-index高于其他输入的z-index:
http://coding.smashingmagazine.com/2009/09/15/the-z-index-css-property-a-comprehensive-look/
请注意,您必须指定一个职位属性。
答案 1 :(得分:0)
你为什么要执行$("#error-div")。show();和$(" #error-div")。hide();在每个if else块中?当然,如果检测到错误,您可以在最后执行:
if (isError) {
$('html, body').animate({
scrollTop: 0
}, 2500);
$("#error-div").show();
} else {
$("#error-div").hide();
}
您使用什么jQuery插件进行验证?