Я делаю некоторые проверки правильности формы и выделения областей, которые пользователь все еще должен заполнить. Я добавляю класс в набор полей с использованием метода .addClass, который меняет рамку поля вокруг набора полей к красному. Когда пользователь нажимает кнопку отправки, я запускаю функцию, которая сначала очищает классы css проверки валидации и перечитывает форму, чтобы увидеть, имеет ли пользователь правильный ввод. При вызове метода removeClass() поле рамки не возвращается к исходному цвету. Он остается красным.jQuery .removeClass() не работает должным образом
//Add
$('#jdeABFieldSet').addClass("validatorBox");
//Remove
$(".validatorBox").removeClass("validatorBox");
Я также попытался
$("#jdeABFieldSet").removeAttr('class');
$("#jdeABFieldSet").attr("class", "");
CSS
.validatorBox{
border-color: red;
}
Полный код ниже.
//This is where the class is added to change the border color to red.
switch($('#tbJDEName').val().length === 0 ||
$('#tbMailingAddress').val().length === 0 ||
$('#tbCity').val().length === 0 ||
$('#tbState').val().length === 0 ||
$('#tbZip').val().length === 0 ||
$('#tbCounty').val().length === 0 ||
$('#ddlLocationCode').val() === "default" ||
$('#ddlSearchType').val() === "default") {
case $('#tbJDEName').val().length === 0:
$('#jdeABFieldSet').addClass("validatorBox");
$('#tbJDEName').addClass("validatorBox");
alert("JDE Address Book Request section must be filled out.");
break;
case $('#tbMailingAddress').val().length === 0:
$('#jdeABFieldSet legend').addClass("validatorText");
$('#jdeABFieldSet').addClass("validatorBox");
$("label[for='tbMailingAddress']").addClass("validatorText");
//$('#tbMailingAddress').addClass("validatorText");
alert("JDE Address Book Request section must be filled out.");
break;
case $('#tbCity').val().length === 0:
$('#jdeABFieldSet').addClass("validatorBox");
$('#tbCity').addClass("validatorText");
alert("JDE Address Book Request section must be filled out.");
break;
case $('#tbState').val().length === 0:
$('#jdeABFieldSet').addClass("validatorBox");
$('#tbState').addClass("validatorText");
alert("JDE Address Book Request section must be filled out.");
break;
case $('#tbZip').val().length === 0:
$('#jdeABFieldSet').addClass("validatorBox");
$('#tbZip').addClass("validatorText");
alert("JDE Address Book Request section must be filled out.");
break;
case $('#tbCounty').val().length === 0:
$('#jdeABFieldSet').addClass("validatorBox");
$('#tbCounty').addClass("validatorText");
alert("JDE Address Book Request section must be filled out.");
break;
case $('#ddlLocationCode').val().length === 0:
$('#jdeABFieldSet').addClass("validatorBox");
$('#ddlLocationCode').addClass("validatorText");
alert("JDE Address Book Request section must be filled out.");
break;
case $('#ddlSearchType').val().length === 0:
$('#jdeABFieldSet').addClass("validatorBox");
$('#ddlSearchType').addClass("validatorText");
alert("JDE Address Book Request section must be filled out.");
break;
}
//This function is the first thing called when the user clicks submit to clear the classes
function clearValidationClass() {
$(".validatorBox").removeClass("validatorBox");
$(".validatorText").removeClass("validatorText");
}
В изоляции нет причин, чтобы эти строки кода не работали. Нам нужно увидеть больше вашего кода, чтобы понять, что происходит (или нет) –
Каким образом эта функция не работает должным образом? Пожалуйста, предоставьте дополнительную информацию в своем вопросе. – Serlite
@RoryMcCrossan см. Правки – user2756091