JQuery.blur() Не работает

62
3

В принципе, моя функция Blur() в JQuery не активируется. Мой код ниже, и я использую специальное дополнение.notify jquery. Я не думаю, что есть что-то неправильное в самом теле функции, но в большей степени это касается самой функции.blur().

$(document).ready(function(e) {

$("#verifypassword").blur(function(e) {
var password1=document.getElementById("password").value;
var password2=document.getElementById("verifypassword").value;
if(password1!=password2){
$("#verifypassword").notify("Passwords do not match.");
}
else{
$("#verifypassword").notify("Passwords match!");
}
});
});


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The KGV Connection</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script src="jquery-2.1.1.min.js"></script>
<script src="animation.js"></script>
<script src="notify.js"></script>
</head>

<body>

<script type="text/javascript">
function makeitpassword(){
var passform= document.getElementById("passcontainer");
passform.innerHTML="<input type=\"password\" class=\"signuser\"id=\"password\" value=\"\"/>";
document.getElementById("password").focus();
}
function makeitpassword2(){

var passform= document.getElementById("passcontainer2");
passform.innerHTML="<input type=\"password\" class=\"signuser\" id=\"verifypassword\" value=\"\" onfocus=\"makeitpassword2()\"/>";
document.getElementById("verifypassword").focus();

}

</script>
<div class="signup">
<h1 class="signheader">Sign Up</h1>
<br />
<form id="signup" action="signup.php" method="post">
<input type="text" class="signuser" name="username" value="Username"/>
<div id="passcontainer">
<input type="text" class="signuser" value="Password" id="password" onfocus="makeitpassword()" name="Password"/>
</div>

<div id="passcontainer2">
<input type="text" class="signuser" id="verifypassword" onfocus="makeitpassword2()" value="Repeat Password" name="VerifyPassword"/>
</div>

<input type="email" class="signuser" value="Email" name="Email"/>

<br />

<br />
<input type="submit" value="Sign Up" class="logsubmit"/>
</form>
</div>

</body>

спросил(а) 2021-01-28T01:41:27+03:00 3 месяца, 1 неделя назад
1
Решение
62

Ваш onblur не работает, потому что он не установлен в элемент пароля. Когда пользователь нажимает на ваши входы пароля, их заменяет новый с makeitpassword#() функций makeitpassword#(). Это заставляет исходный элемент удаляться, а новый элемент не имеет размытия, прикрепленного к нему. Потеряйте события onfocus, и все будет в порядке!

Если вы хотите отобразить сообщение на вкладке, используйте placeholder:

<input type="password" placeholder="password here">

ответил(а) 2021-01-28T01:41:27+03:00 3 месяца, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема