我正在进行密码验证。我输入密码,然后输入密码。但是在每次按键时它都会给我一个我不想要的刻度标记,而且,即使我输入了错误的密码,它也不会出现给删除图像的其他部分。有人可以帮我吗。我是新来的。
function checkPasswordMatch() {
var password = $("#password").val();
var confirmPassword = $("#verifyPassword").val();
if (password != confirmPassword)
{
$("#marker").prepend('<img src="https://cdn3.iconfinder.com/data/icons/freeapplication/png/24x24/Apply.png" />');
}
else
{
$("#marker").prepend('<img src="https://cdn3.iconfinder.com/data/icons/musthave/16/Delete.png" />');
}
}
$(document).ready(function () {
$("#verifyPassword").keyup(checkPasswordMatch);
});
答案 0 :(得分:0)
为了防止每次输入内容时发生这种情况,您应该更改活动。我建议您在密码字段中使用change
事件。参见:
$(document).ready(function () {
$(document).on('change','#password, #verifyPassword', checkPasswordMatch );
});
答案 1 :(得分:0)
您的方法存在两个问题。
首先,要阻止函数在每次按键时运行,请使用change
事件而不是keyup
。
其次,我认为你在if中使用了==
代替!=
function checkPasswordMatch() {
var password = $("#password").val();
var confirmPassword = $("#verifyPassword").val();
if (password == confirmPassword){
$("#marker").html('<img src="https://cdn3.iconfinder.com/data/icons/freeapplication/png/24x24/Apply.png" />');
}else{
$("#marker").html('<img src="https://cdn3.iconfinder.com/data/icons/musthave/16/Delete.png" />');
}
}
$(document).ready(function () {
$(document).on('keyup','#verifyPassword', checkPasswordMatch );
});
编辑:更改了keyup
事件以匹配请求