パスワード確認入力の色をユーザーが入力するときに変更しようとしています。一致する場合は境界線が緑色になり、一致しない場合は赤色になります。ここでユーザーの入力時に入力のクラスを変更するにはどうすればよいですか?
はjQueryのです:
var createPass = $("#createPass").val();
var confirmPass = $("#confirmPass").val();
$("#confirmPass").keydown(function() {
if(confirmPass == createPass && confirmPass != "") {
confirmPass.addClass("inputCorrect")
} else {
confirmPass.addClass("inputIncorect");
}
});
HTML:
<label for="passWord">Create Password</label>
<input type="password" id="createPass" name="passWord" class="inputBox" placeholder="Minimum 8 characters" required><br>
<label>Confirm Password</label>
<input type="password" id="confirmPass" class="inputBox" required>
とCSS:
input.passCorrect {
border: 1px solid #00cc00;
}
input.passIncorrect {
border: 1px solid #ff0000;
}
私も最初、次のjQueryを試してみたが、それは見えました少し長めの仕事:
$("input[id=confirmPass").keyup(function() {
if ($("input[id=confirmPass]").val() == $("input[id=createPass]").val()) {
($("input[id=confirmPass]").removeClass("passIncorrect"));
($("input[id=confirmPass]").addClass("passCorrect"));
}
if ($("input[id=confirmPass]").val() != $("input[id=createPass]").val() && ($("input[id=confirmPass]") != "")) {
($("input[id=confirmPass]").removeClass("passCorrect"));
($("input[id=confirmPass]").addClass("passIncorrect"));
}
});
私は.keyup()
,.keydown()
,.keypress()
,.change()
を試してみましたが、すべてのクラス、ID、変数の名前が変更されましたが、成功しませんでした。これは別の.js
ファイルにあり、私は$(document).ready()
の有無にかかわらず試してみましたが動作しません。私は.addClass
と.removeClass
ではなく、.css()
を使ってみました。
ご協力いただければ幸いです!ここで
最初の例でキーを押すたびに「confirmPass」値を取得して実際の値を取得してはいけませんか? –
onInputイベントで試してください –
提案:1)あなたは "addClass"で間違って "間違っている"と綴りました。 2)これに関する助けが必要な場合は、JSFiddleなどを作成することをお勧めします。 –