ユーザーがまだ入力する必要があるカスタムフォームの検証とハイライト表示を行っています。フィールドセットの周りの枠線を変更する.addClassメソッドを使用してフィールドセットにクラスを追加します赤に。ユーザーがsubmitボタンをクリックすると、検証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