JS實(shí)現(xiàn)年月日表單三級(jí)聯(lián)動(dòng)

用Html實(shí)現(xiàn)人人人人網(wǎng)注冊(cè)界面 仅讽,Js實(shí)現(xiàn)生日欄表單三級(jí)聯(lián)動(dòng)

1. 效果
動(dòng)態(tài)效果.gif
2.Html代碼部分
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>人人網(wǎng)日期表單聯(lián)動(dòng)</title>
    <style>
        select
        {
            font:20px/40px '宋體';
        }
        option  {width: 100px;}
    </style>
</head>
<body>
<form method = "get" onchange="changeMonth()">
    <b><h3 align="center">
        免費(fèi)開通人人網(wǎng)賬號(hào)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </h3></b>

    <table align="center" height = "500">

        <tr ><td>注冊(cè)郵箱:&nbsp;&nbsp;&nbsp;&nbsp; </td><td> <input type = "text" name = "name"/></td></tr>
        <tr><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td>你還可以使用&nbsp;<a >賬號(hào)</a>&nbsp;
            注冊(cè)或者&nbsp;<a >手機(jī)號(hào)</a>&nbsp;注冊(cè)</td></tr>

        <tr><td>創(chuàng)建密碼: &nbsp;&nbsp;&nbsp;&nbsp;</td><td><input type = "password" name = "password"/></td></tr>

        <tr><td>真實(shí)姓名: &nbsp;&nbsp;&nbsp;&nbsp;</td><td><input type = "password" name = "name"/></td>

        <tr><td align="right">性別:&nbsp;&nbsp;&nbsp;&nbsp;</td><td>男<input type = "radio" value = "male" name = "gender"/>
            &nbsp;女<input type = "radio" value = "female" name = "gender"/></td></tr>

        <tr><td align="right">生日:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>

        <div id="box">
            <select name="sel1" id="sel1">
                <option value="year">年</option>
            </select>&nbsp;
            <select name="sel2" id="sel2">
                <option value="month">月</option>
            </select>&nbsp;
            <select name="sel3" id="sel3">
                <option value="day">日</option>
            </select>
            <span id="result"></span>
        </div></td></tr>



        <tr><td align="right">我現(xiàn)在:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td><select name = "subject">
                <option value = "xu">正在上學(xué)</option>
                <option value = "cz">工作</option>
                <option value = "gz">賦閑</option>
                <option value = "bk">經(jīng)商</option>
            </select></td></tr>

        <tr><td></td><td>![](verycode.gif)&nbsp;&nbsp;&nbsp;<a >看不清換一張?</a>
        </td></tr>
        <tr><td>驗(yàn)證碼:</td><td><input type = "password" name = "yanzheng"/></td></tr>
        <tr><td></td><td><a > ![](btn_reg.gif)</a></td></tr>
    </table>
</form>
</body>
</html>

3.JavaScript代碼
        <script>
            //生成日期
            function creatDate()
            {
                //生成1900年-2100年
                for(var i = 2016; i >= 1950; i--)
                {
                    //創(chuàng)建select項(xiàng)
                    var option = document.createElement('option');
                    option.setAttribute('value',i);
                    option.innerHTML = i;
                    sel1.appendChild(option);
                }
                //生成1月-12月
                for(var i = 1; i <=12; i++){
                    var option1 = document.createElement('option');
                    option1.setAttribute('value',i);
                    option1.innerHTML = i;
                    sel2.appendChild(option1);
                }
                //生成1日—31日
                for(var i = 1; i <=31; i++){
                    var option2 = document.createElement('option');
                    option2.setAttribute('value',i);
                    option2.innerHTML = i;
                    sel3.appendChild(option2);
                }
            }
            creatDate();
            //保存某年某月的天數(shù)
            var days;

            //年份點(diǎn)擊 綁定函數(shù)
            sel1.onclick = function()
            {
                //月份顯示默認(rèn)值
                sel2.options[0].selected = true;
                //天數(shù)顯示默認(rèn)值
                sel3.options[0].selected = true;
            }
            //月份點(diǎn)擊 綁定函數(shù)
            sel2.onclick = function()
            {
                //天數(shù)顯示默認(rèn)值
                sel3.options[0].selected = true;
                //計(jì)算天數(shù)的顯示范圍
                //如果是2月
                if(sel2.value == 2)
                {
                    //判斷閏年
                    if((sel1.value % 4 === 0 && sel1.value % 100 !== 0)  || sel1.value % 400 === 0)
                    {
                        days = 29;
                    }
                    else
                    {
                        days = 28;
                    }
                    //判斷小月
                }else if(sel2.value == 4 || sel2.value == 6 ||sel2.value == 9 ||sel2.value == 11){
                    days = 30;
                }else{
                    days = 31;
                }

                //增加或刪除天數(shù)
                //如果是28天雷酪,則刪除29哮缺、30、31天(即使他們不存在也不報(bào)錯(cuò))
                if(days == 28){
                    sel3.remove(31);
                    sel3.remove(30);
                    sel3.remove(29);
                }
                //如果是29天
                if(days == 29){
                    sel3.remove(31);
                    sel3.remove(30);
                    //如果第29天不存在,則添加第29天
                    if(!sel3.options[29]){
                        sel3.add(new Option('29','29'),null)
                    }
                }
                //如果是30天
                if(days == 30){
                    sel3.remove(31);
                    //如果第29天不存在凶硅,則添加第29天
                    if(!sel3.options[29]){
                        sel3.add(new Option('29','29'),null)
                    }
                    //如果第30天不存在,則添加第30天
                    if(!sel3.options[30]){
                        sel3.add(new Option('30','30'),null)
                    }
                }
                //如果是31天
                if(days == 31){
                    //如果第29天不存在扫皱,則添加第29天
                    if(!sel3.options[29])
                    {
                        sel3.add(new Option('29','29'),null)
                    }
                    //如果第30天不存在足绅,則添加第30天
                    if(!sel3.options[30])
                    {
                        sel3.add(new Option('30','30'),null)
                    }
                    //如果第31天不存在,則添加第31天
                    if(!sel3.options[31])
                    {
                        sel3.add(new Option('31','31'),null)
                    }
                }
            }

            //結(jié)果顯示 設(shè)置好日期時(shí)間后 彈窗通知
            box.onclick = function()
             {
             //當(dāng)年韩脑、月氢妈、日都已經(jīng)為設(shè)置值時(shí)
             if(sel1.value !='year' && sel2.value != 'month' && sel3.value !='day')
             {
                 alert("日期時(shí)間已經(jīng)設(shè)定好");
             }
             }

        </script>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市段多,隨后出現(xiàn)的幾起案子首量,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件加缘,死亡現(xiàn)場(chǎng)離奇詭異鸭叙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拣宏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門沈贝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勋乾,你說我怎么就攤上這事缀程。” “怎么了市俊?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵杨凑,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我摆昧,道長(zhǎng)撩满,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任绅你,我火速辦了婚禮伺帘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘忌锯。我一直安慰自己伪嫁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布偶垮。 她就那樣靜靜地躺著张咳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪似舵。 梳的紋絲不亂的頭發(fā)上脚猾,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音砚哗,去河邊找鬼龙助。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蛛芥,可吹牛的內(nèi)容都是我干的提鸟。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼仅淑,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼称勋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起漓糙,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤铣缠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝗蛙,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝇庭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捡硅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哮内。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖壮韭,靈堂內(nèi)的尸體忽然破棺而出北发,到底是詐尸還是另有隱情,我是刑警寧澤喷屋,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布琳拨,位于F島的核電站,受9級(jí)特大地震影響屯曹,放射性物質(zhì)發(fā)生泄漏狱庇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一恶耽、第九天 我趴在偏房一處隱蔽的房頂上張望密任。 院中可真熱鬧,春花似錦偷俭、人聲如沸浪讳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)淹遵。三九已至,卻和暖如春形葬,著一層夾襖步出監(jiān)牢的瞬間合呐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工笙以, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冻辩。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓猖腕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親恨闪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子倘感,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,860評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件咙咽、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評(píng)論 4 62
  • 初到溫哥華老玛,發(fā)覺空氣清新、氣候宜人,確實(shí)一個(gè)生活的好地方蜡豹。漸漸的麸粮,卻發(fā)現(xiàn)有點(diǎn)不好——就是那令人討厭的雨季。本人原來...
    游閑溫哥華閱讀 1,175評(píng)論 4 3
  • 馮小剛的《我不是潘金蓮》正在上映,朋友圈一水兒的叫好聲娇唯,不過我還沒看齐遵,也不知好不好,但是劉震云還是很喜歡的塔插,當(dāng)時(shí)《...
    齊嬰寧閱讀 941評(píng)論 0 3
  • 今天周六梗摇,學(xué)校放假,本來是要去托輔的想许,因?yàn)橥休o已到期留美,侯舒懷沒去,我今天工作挺忙伸刃,只好把他單獨(dú)放到家里谎砾,讓他寫作業(yè)...
    指間的陽(yáng)光923802閱讀 131評(píng)論 0 1