首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js菜鸟,一个简单的日期上拉表单。不知道哪里出错了。求各位帮忙

2013-03-25 
js初学者,一个简单的日期下拉表单。不知道哪里出错了。。求各位帮忙。js初学者,一个简单的日期下拉表单。不知道

js初学者,一个简单的日期下拉表单。不知道哪里出错了。。求各位帮忙。
js初学者,一个简单的日期下拉表单。不知道哪里出错了。。求各位帮忙。。  年和月都能出来,日期的下拉表单却出不来。。。不知道该怎么办了,


<html>
<head>
    <title>用户注册</title>
</head>

<body >
    <script src="第二次作业1.js"></script>
    <form name="myform">
        <p>请选择你的生日:<select name="year" id="year"><option></option></select>年
                              <select name="month" id="month"><option></option></select>月
                              <select name="date" id="date"><option></option></select>日
        </p>
    </form>
</body>
</html>



if (document.attachEvent){
    window.attachEvent("onload",init);
}
else {
    window.addEventListener("load",init,false);
}

var y = new Date().getFullYear();//y=2013
Date_End = [31,28,31,30,31,30,31,31,30,31,30,31];

//初始化
function init(){
for(var i = 1900; i <= y; i++){
      document.myform.year.options.add(new Option("" + i ,i));

for(var j = 1; j <= 12; j++){
      document.myform.month.options.add(new Option(""+j,j));
}

}

//判断是否为闰年
function isleapyear(y){
     return ( (y% 4) == 0 );
}

//设置日期
function init_date(){
     var k = document.myform.month.options[document.myform.month.selectedIndex].value;
 var kk = Date_End[d-1];
 if(isleapyear(document.myform.year.options[document.myform.year.selectedIndex].value) && d == 2){
         kk ++ ;
 }
 for(var i = 1; i <= kk; i++) {
         document.myform.date.options.add(new Option("" + i , i)); 
}

}
html
[解决办法]
。。。你又没给月份的下拉菜单绑定change事件。。

function init(){
    for(var i = 1900; i <= y; i++){
          document.myform.year.options.add(new Option("" + i ,i));
    } 
    for(var j = 1; j <= 12; j++){
          document.myform.month.options.add(new Option(""+j,j));
    }
    var monthSelect = document.getElementById('month');
    if (document.attachEvent){
        window.attachEvent("onchange",init_date);   


    }else {
        window.addEventListener("change",init_date,false);
    }
}

inin_date里面还得判断年是否有值哦。建议把空值都去掉,HTML代码里的<option></option>都去掉。

热点排行