【问题标题】:Java Script issueJavascript 问题
【发布时间】:2012-11-14 05:12:55
【问题描述】:

对于我的研究,我需要创建一个简单的脚本来检查输入的数据(假设是 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>

【问题讨论】:

  • 因此,数字将始终是 &lt;=&gt;= 数字。
  • 使用一个好的标题来吸引可以提供帮助的人的注意力!
  • 另外,请考虑缩进你的代码、标记等——这会让人们更容易阅读。

标签: javascript html


【解决方案1】:

这个怎么样:

if (content.length !== 5) {

   alert('Please enter a 5 digit zip code!');

} else {

   alert('Valid entry');
}

【讨论】:

    【解决方案2】:

    检查您的状况..

    当长度为 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!');
    }
    

    Check Fiddle

    您的脚本中有其他语法错误

    if (length >=5) (alert('Please enter a 5 digit zip code!'));
                  --^-- Supposed to be {                    --^-- supposed to be }
    

    您还用 分号 ; 结束 if 循环 .. 需要删除那个 .. 否则else if和else中的语句永远不会被执行

    【讨论】:

    • 感谢@DavidThomas ..修复它
    【解决方案3】:

    5大于等于5,所以会出现错误提示。

    您应该使用&gt;&lt;,而不是&gt;=&lt;=

    【讨论】:

      【解决方案4】:

      &gt;= 表示大于或等于&lt;= 表示小于或等于。您的问题是,如果您的输入正好是 5 个字符,那么:

      if (length >=5) 
      

      将评估为 true,并且您不会进入 else 语句。

      【讨论】:

        猜你喜欢
        • 2011-03-30
        • 1970-01-01
        • 2021-11-09
        • 2015-03-07
        • 2019-08-23
        • 2013-07-19
        • 2011-02-18
        • 2011-03-24
        相关资源
        最近更新 更多