我試圖在用戶輸入密碼時確認輸入的顏色。如果匹配,則邊框變綠,否則變爲紅色。如何在用戶輸入時更改輸入的類別?
這裏是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()
,它不起作用。我也嘗試使用.css()
而不是.addClass
和.removeClass
。
任何幫助將不勝感激!
每次在第一個例子中按下某個鍵時,是否不應該得到「confirmPass」值,以獲取實際值? –
嘗試與onInput事件 –
建議:1)你在「addClass」中拼寫錯誤「不正確」。 2)如果你想在這方面的幫助,我會建議創建一個JSFiddle或類似的。 –