对于我的学习,我需要创建一个简单的脚本来检查输入的数据(假设是5位邮政编码)是否真的有5位数字。如果输入的数字超过或少于5位,则应弹出警报。
到目前为止,我成功地获得了警报,几乎不到5位数,但即使输入5位数,警报也会出现。
因为js不是我最喜欢的科目,所以我迷路了,尽管它看起来很简单。
提前感谢您的回答和提示。
<script type="text/javascript">
<!--
function CheckZip ()
{
var content = document.forms['zipfield'].Field.value;
var length = content.length;
if (length >=5) (alert('Please enter a 5 digit zip code!'));
else if (length <=5) (alert('Please enter a 5 digit zip code!'));
else (length ==5) (alert('Valid entry'))
}
//-->
</script>
</head>
<body>
<div align="left">
<p>Please enter a 5 digit zip code</p>
<form name="zipfield" action="post"><input name="Field" size="5">
<br />
<br />
<input name="check" value="Check entry" onclick="CheckZip()" type="submit">
</form>发布于 2012-11-14 05:07:00
检查一下你的状况..
当长度为5时,它将转到第一个if statemenet,因为您已将其指定为>= 5
因此,当长度为5时,它永远不会命中语句else (length ==5)
if (length >5) {
alert('Please enter a 5 digit zip code!')
}
else if (length <5) {
alert('Please enter a 5 digit zip code!')
}
else (length ==5) {
alert('Valid entry')
};更好的
if( length === 5){
alert('Valid entry');
}
else{
alert('Please enter a 5 digit zip code!');
}您的脚本中还存在其他语法错误
if (length >=5) (alert('Please enter a 5 digit zip code!'));
--^-- Supposed to be { --^-- supposed to be }此外,您还将以分号结束if循环。需要去掉那个..否则,else if和else中的语句将永远不会执行
发布于 2012-11-14 05:07:25
这样如何:
if (content.length !== 5) {
alert('Please enter a 5 digit zip code!');
} else {
alert('Valid entry');
}发布于 2012-11-14 05:07:12
5大于或等于5,因此会出现错误警报。
您应该使用>和<,而不是>=和<=。
https://stackoverflow.com/questions/13368752
复制相似问题