我正在尝试创建一个简单的表单来验证用户输入的第一个密码和第二个密码是否确实相同。如果是这样,我想在密码输入的右侧显示一个图像来确认这一点。
我已经得到了代码的大部分工作。但是,我似乎无法让 replaceWith() 正常工作。如果用户输入第一个密码,输入第二个密码并且两者都相同,则下面的代码将显示正确的图像。但是,如果用户编辑了导致差异的第一个或第二个密码,则 replaceWith() 不会更改图像来表示这一点。
任何对我遗漏或使用不正确的见解都会很棒。
谢谢!
这是HTML:
echo '<form id="collect" action="add_new_user.php" method="POST" >';
echo '<table class="sign_up">';
// ask to create login
echo '<tr><td><h2 class="nl">Login email</h2></td><td><input type="text" name="login_email" id="login_email" class="log" /></td><td><p id="email_status"></p><td></tr>';
// ask to create password
echo '<tr><td><h2 class="nl">Enter password</h2></td><td><input type="password" name="pass_one" id="pass_one" class="log" /></td></tr>';
// ask to confirm password
echo '<tr><td><h2 class="nl">Confirm password</h2></td><td><input type="password" name="pass_confirm" id="pass_confirm" class="log" /></td><td id="pass_status"></td></tr>';
echo '<tr><td><input id="register" type="submit" value="Finish registration!" class="begin_mod_button" /></td></tr>';
echo '</table>';
echo '</form>';
这是jQuery:
$('#pass_confirm').focusout(function(login){
var confirm = $(this).val();
var pass = $('#pass_one').val();
if(confirm == pass){
$('#pass_status').replaceWith('<img src="images/greendot.png" />');
}
else{
$('#pass_status').replaceWith('<img src="images/reddot.png" />');
}
});