我想检查密码输入值是否不等于密码2输入值。无论密码是否匹配,都返回true。
HTML:
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<form class='login' name='form'>
<input id='pw' name='password' placeholder='Password' type='password'>
<input id='pw2' name='password2' placeholder='Password Again' type='password'>
<input class='animated' type='submit' value='Register'>
</form>
</body>
</html>
的CSS:
.animated {
transition: background 0.3s ease-in-out;
}
.notEqual {
background-color: red;
}
jquery的:
$( document ).ready(function() {
$('.animated').on('click', function (e) {
if ($('#pw'.value) != $('#pw2'.value)) {
e.preventDefault();
$(this).addClass('notEqual');
} else {
console.log("Passwords are equal");
}
});
});
JSBIN:http://jsbin.com/vujitutere/2/
感谢。
答案 0 :(得分:4)
你的语法有点不对:
($('#pw'.value) != $('#pw2'.value))
应该是
($('#pw').val() != $('#pw2').val())
您获得它的方式,您正在查看字符串value
上的"#pw"
属性和字符串value
的{{1}}属性这是未定义的,将undefined传递给jQuery,它给你空数组。
答案 1 :(得分:2)
您需要使用jquery&#39; .val()
。此外,错误的语法,方法调用超出了选择器:
$( document ).ready(function() {
$('.animated').on('click', function (e) {
if ($('#pw').val() != $('#pw2').val()) {
e.preventDefault();
$(this).addClass('notEqual');
} else {
console.log("Passwords are equal");
}
});
});
答案 2 :(得分:1)
你的jQuery中有一些错误:
$('.animated').on('click', function (e) {
//should be $('#pw').val() instead of $('#pw'.value)
if ($('#pw').val() != $('#pw2').val()) {
e.preventDefault();
$(this).addClass('notEqual');
} else {
console.log("Passwords are equal");
}
});