Javascript,如果条件在没有 && 逻辑运算符的情况下有效,当 && 存在时它不起作用
Javascript,if condition works without && logical operator when && is present it doesnt work
如果 length 中的字符 error 消息 display =12=] id
小于 <
3 或大于 <
大于 20.When 我使用 &&
逻辑运算符 当 &&
不存在时,它不会按预期工作,如果我一个接一个地执行它完美运行的代码。
<style>
.name{
border: .5px solid #C0C0C0;
margin-left: 1em;
margin-right: 1em;
padding: .7em;
margin-bottom: 1em;
}
#error{
display: inline-block;
color: #727171;
border:1px solid #C0C0C0;
padding: .5em;
margin-top: .5em;
display:none;
}
label{
color:grey;
}
</style>
</head>
<body>
<label>Name :<input class="name" id ="nameT" onblur="check()" type="text"></input></label>
<div id="error">Error please type less than 15 characters</div><br/>
<label>Password :<input class="name" type="password"></input></label>
<script language="javascript" type="text/javascript">
function check() {
var length = document.getElementById("nameT").value.length;
var error = document.getElementById("error");
if(length < 20 && length < 3){
error.style.display="inline-block";
}
}
</script>
</body>
length
的值不能同时大于 20 且小于 3。
我觉得你是想设置长度大于20或者小于3的错误显示,如果是这样你需要用OR(||)逻辑运算符
if(length > 20 || length < 3){
error.style.display="inline-block";
}
当您使用 AND
运算符时,两个操作数都必须为真,只有这样逻辑运算符才会 return 为真。在你的情况下这是不可能的。
您需要使用 ||
(或)运算符。您当前的 if
分支只会在长度大于 20 且同时 小于 3 时进入,如您所见,这永远不会发生。
if (length > 20 || length < 3) {
...
如果 length 中的字符 error 消息 display =12=] id
小于 <
3 或大于 <
大于 20.When 我使用 &&
逻辑运算符 当 &&
不存在时,它不会按预期工作,如果我一个接一个地执行它完美运行的代码。
<style>
.name{
border: .5px solid #C0C0C0;
margin-left: 1em;
margin-right: 1em;
padding: .7em;
margin-bottom: 1em;
}
#error{
display: inline-block;
color: #727171;
border:1px solid #C0C0C0;
padding: .5em;
margin-top: .5em;
display:none;
}
label{
color:grey;
}
</style>
</head>
<body>
<label>Name :<input class="name" id ="nameT" onblur="check()" type="text"></input></label>
<div id="error">Error please type less than 15 characters</div><br/>
<label>Password :<input class="name" type="password"></input></label>
<script language="javascript" type="text/javascript">
function check() {
var length = document.getElementById("nameT").value.length;
var error = document.getElementById("error");
if(length < 20 && length < 3){
error.style.display="inline-block";
}
}
</script>
</body>
length
的值不能同时大于 20 且小于 3。
我觉得你是想设置长度大于20或者小于3的错误显示,如果是这样你需要用OR(||)逻辑运算符
if(length > 20 || length < 3){
error.style.display="inline-block";
}
当您使用 AND
运算符时,两个操作数都必须为真,只有这样逻辑运算符才会 return 为真。在你的情况下这是不可能的。
您需要使用 ||
(或)运算符。您当前的 if
分支只会在长度大于 20 且同时 小于 3 时进入,如您所见,这永远不会发生。
if (length > 20 || length < 3) {
...