无法加载资源javascript window.location

时间:2013-07-01 20:44:36

标签: javascript

尝试从一个表单验证年龄我在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重定位放在代码中的其他地方(比如在条件之上)它就可以了。 任何建议

2 个答案:

答案 0 :(得分:0)

这是因为if ((currdate - mydate) < 18)没有评估为真。

在您的示例中,currdate是18岁的截止日期。你的病情应该是:

if (currdate < mydate) { ... }

也就是说,如果有人在截止日期之后出生(即,年龄小于18岁),则重定向到Google。

答案 1 :(得分:-1)

这是对错误的一个很好的解释......我认为你必须用window.location取代window.location.assign("http://www.google.com"),并且只使用一个else来提醒所有人弹出窗口!如果可选......祝你好运! Oookay!用这个: `          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

     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 luck