尝试验证一个表单的年龄时,我在chrome的控制台上发现了这个问题。这是我的代码:
<script type="text/javascript">
     function CalAge() {
     var dd = $("#day").val();
     var mm = $("#month").val();
     var yy = $("#year").val();
     var age = 18;
     var mydate = new Date();
     mydate.setFullYear(yy, mm-1, dd);
     var currdate = new Date();
     currdate.setFullYear(currdate.getFullYear() - age);
     if(dd !=0 || mm !=0 || yy !=0){ //whether one or all values havent been choosen
         if ((currdate - mydate) < 18){
            window.location = "http://www.google.com";
         }
         else{
            alert("more than 18");
        }
     }
     else{
         alert("please register");
     }
   }
</script>我想知道是否与我的代码有关,因为如果我将url重定位放在代码中的其他地方(比如在条件之上),它就能正常工作。任何建议
发布于 2013-07-02 04:57:14
这是对错误的一个很好的解释。我认为你必须用这样的东西来代替window.location:window.location.assign("http://www.google.com"),并且只使用一个else来提醒你所有的弹出窗口!如果可选的话...祝好运!好的!使用这个:`函数CalAge() {
     var dd = $("#day").val();
     var mm = $("#month").val();
     var yy = $("#year").val();
     var age = 18;
     var mydate = new Date();
     mydate.setFullYear(yy, mm-1, dd);
     var currdate = new Date();
     currdate.setFullYear(currdate.getFullYear() - age);
     if(dd !=0 || mm !=0 || yy !=0){ //whether one or all values havent been choosen
     var subit = currdate - mydate;
         if (subit < 18){
            window.location.href = "http://www.google.com";
         }
         else{
            alert("more than 18");
        }
     }
     else{
         alert("please register");
     }
   }
</script>`
     thanks good luckhttps://stackoverflow.com/questions/17413361
复制相似问题