好吧,在过去的一个小时里,我一直在努力解决这个问题,这是一件如此简单的事情,我从来没有遇到过问题。所以输入 'username_input' 有一个 jQuery if 状态是
if($('#username_input').val() == 0) {
alert('Empty');
} else {
alert('Not empty');
}
之后它移动到“password_input”if 语句,这是同一件事,但它一直警告“空”。为什么?
<!doctype html>
<html>
<head>
<title> Awflicks </title>
<meta name=viewport content="width=device-width, initial-scale=1">
<link type="text/css" rel="stylesheet" href="index.css">
</head>
<body>
<div id="body_div">
<form action="" method="post">
<div id="username_div"> Username: <input type="text" name="username" id="username_input"> </div>
<div id="password_div"> Password: <input type="password" name="password" id="password_input"> </div>
<div id="retype_password_div"> Retype password: <input type="password" name="retype_password" id="retype_password_input"> </div>
<div type="submit" id="submit_button"> Create Account </div>
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var $username = $('#username_input').val();
var $password1 = $('#password_input').val();
var $password2 = $('#retype_password_input').val();
function create_account() {
if($username == 0) {
alert('empty');
} else {
alert('not empty')
}
}
$('#submit_button').click(function() {
create_account();
document.forms[0].submit();
})
</script>
</body>
</html>
最佳答案
因为当值更改时,具有值的变量不会更新。它是读取时的值。您需要在需要时读取该值或设置变量 onchange。
也不确定该值如何为零,因为没有设置值。你不应该检查长度吗?您将要从验证函数返回一个 bool 值,以便您知道要取消表单提交。
关于javascript - 如果 jQuery 语句 |空文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32447662/