为什么JavaScript中function check函数中(!form.name.value)要是用户名不为空才可以弹出提示

<script language='javascript'>
function check(){
if(!signup.name.value){
alert('姓名不可以为空!');
signup.name.focus();
return false;
}
if(!signup.pwd.value){
alert('密码不可以为空!');
signup.pwd.focus();
return false;
}
}
</script>

<form name='signup' method='post' action=''>
<table border='1' cellspacing='1' cellpadding='1'>
<tr>
<td align='right'>姓名:</td>
<td><input name='name' type='text' maxlength="16"></td>
</tr>
<tr>
<td align='right'>密码:</td>
<td><input name='pwd' type='password' maxlength="16"></td>
</tr>
<tr>
<td colspan="2" align='center'><input name='submit' type='submit' value='注册' onclick='return check()'></td>
</tr>
</table>
</form>
</body>
</html>

第1个回答  2017-12-20
!是取反,当条件为false(条件不成立),null(没有值)时取反变true就会进入if语句。言外之意就是说,只有当条件不成立时、null时又想让它们进入if语句,但它们作为逻辑条件时均为false,所以需要取反。 false取反为true,true取反为false。

var isSuccess=false;
if(!isSuccess){// false取反变true
// 为true时进入此处执行代码
}else{ // 当isSuccess为true时取反后变false,则不会进入if里面。就进入else
// 否则进入此处,
}
第2个回答  2017-12-13
是否执行if后面的语句,要看
form.name.value
的值。如果
form.name.value
的值为true或者非0值那就执行;如果为false或者0就不执行。
第3个回答  推荐于2017-12-20

你在function check(){里最前面加两行

alert(signup.name.value);
alert(signup.pwd.value);
if(!signup.name.value){.......

看看在密码为空的情况下显示的是啥就知道

本回答被网友采纳
相似回答