Javascript 我将如何更改用户类型时输入的类?
我试图在用户输入密码时更改密码确认输入的颜色。如果匹配,边框将变为绿色,如果不匹配,边框将变为红色 以下是JQuery:Javascript 我将如何更改用户类型时输入的类?,javascript,jquery,css,input,passwords,Javascript,Jquery,Css,Input,Passwords,我试图在用户输入密码时更改密码确认输入的颜色。如果匹配,边框将变为绿色,如果不匹配,边框将变为红色 以下是JQuery: var createPass = $("#createPass").val(); var confirmPass = $("#confirmPass").val(); $("#confirmPass").keydown(function() { if(confirmPass == createPass && confirmPass != "") {
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>
我也先尝试了以下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()
和不使用$(document).ready()的方法,但它不起作用。我也尝试过使用.css()
而不是.addClass
和.removeClass
任何帮助都将不胜感激 以下是使其工作的固定Javascript:
var createPass = $("#createPass");
var confirmPass = $("#confirmPass");
confirmPass.keydown(function() {
// Remove both classes
confirmPass.removeClass("passCorrect passIncorrect");
// Add the appropriate class
if (confirmPass.val() == createPass.val() && confirmPass.val() != "") {
confirmPass.addClass("passCorrect");
} else {
confirmPass.addClass("passIncorrect");
}
});
以下是一些事先不起作用的事情:
- 在执行代码confirmPass.addClass(“inputCorrect”)
时,您正在向整数值添加一个类
您是否应该在第一个示例中每次按下一个键时获取“confirmPass”值,以获取实际值?请尝试输入事件建议:1)您在“addClass”中拼写错误。2) 如果您需要这方面的帮助,我建议您创建一个JSFiddle或类似的。在添加“passCorrect”之前,您需要删除类“passCorrect”。实际上,为每个循环删除类“passIncorrect”并在满足条件时再次添加它是一个好主意。谢谢Asher!它在我的网站上不起作用,但它正在做我想做的事情。我认为这可能是另外一个错误,因为JavaScript或JQuery都没有简单的测试。我还得再深入一点,但一旦这段代码全部修复,我肯定会使用它。
var createPass = $("#createPass");
var confirmPass = $("#confirmPass");
confirmPass.keydown(function() {
// Remove both classes
confirmPass.removeClass("passCorrect passIncorrect");
// Add the appropriate class
if (confirmPass.val() == createPass.val() && confirmPass.val() != "") {
confirmPass.addClass("passCorrect");
} else {
confirmPass.addClass("passIncorrect");
}
});