うまく機能するスクリプトがありますが、小さな問題が 1 つあります。
スクリプトに次のように追加しました。
if (isError) {
$('html, body').animate({
scrollTop: 0
}, 2500);
} else {
$("#error-div").hide();
}
今、私は問題を抱えています。入力に何かを入力すると、最後の入力検証セット $('#input_1 input') が error-div を隠しています。他のすべての入力は背景が変更された赤ですが、エラー div は消えます - スクリプトの最後のエラーである #input1 からエラーを削除した場合のみです。
その入力のみにエラーがない場合、最後の入力はdiv-errorをオフにします。
それを理解することはできません。どんな提案も素晴らしいでしょう。
$(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();
}
}
});
});
</p>