js實現年月日表單三級聯動,

來源:互聯網
上載者:User

js實現年月日表單三級聯動,

用Html實現人人網註冊介面 ,Js實現生日欄表單三級聯動

1. 效果

2.Html代碼部分

<!DOCTYPE html><html><head lang="en">  <meta charset="UTF-8">  <title>人人網日期表單聯動</title>  <style>    select    {      font:20px/40px '宋體';    }    option {width: 100px;}  </style></head><body><form method = "get" onchange="changeMonth()">  <b><h3 align="center">    免費開通人人網帳號       </h3></b>  <table align="center" height = "500">    <tr ><td>註冊郵箱:   </td><td> <input type = "text" name = "name"/></td></tr>    <tr><td>  </td><td>你還可以使用 <a href="https://www.baidu.com">帳號</a>       註冊或者 <a href="https://www.baidu.com">手機號</a> 註冊</td></tr>    <tr><td>建立密碼:   </td><td><input type = "password" name = "password"/></td></tr>    <tr><td>真實姓名:   </td><td><input type = "password" name = "name"/></td>    <tr><td align="right">性別:  </td><td>男<input type = "radio" value = "male" name = "gender"/>       女<input type = "radio" value = "female" name = "gender"/></td></tr>    <tr><td align="right">生日:   </td><td>    <div id="box">      <select name="sel1" id="sel1">        <option value="year">年</option>      </select>       <select name="sel2" id="sel2">        <option value="month">月</option>      </select>       <select name="sel3" id="sel3">        <option value="day">日</option>      </select>      <span id="result"></span>    </div></td></tr>    <tr><td align="right">我現在:   </td>      <td><select name = "subject">        <option value = "xu">正在上學</option>        <option value = "cz">工作</option>        <option value = "gz">賦閑</option>        <option value = "bk">經商</option>      </select></td></tr>    <tr><td></td><td>![](verycode.gif)  <a href="https://www.baidu.com">看不清換一張?</a>    </td></tr>    <tr><td>驗證碼:</td><td><input type = "password" name = "yanzheng"/></td></tr>    <tr><td></td><td><a href="https://www.baidu.com"> ![](btn_reg.gif)</a></td></tr>  </table></form></body></html>

3.JavaScript代碼

  

   <script>      //產生日期      function creatDate()      {        //產生1900年-2100年        for(var i = 2016; i >= 1950; i--)        {          //建立select項          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();      //儲存某年某月的天數      var days;      //年份點擊 綁定函數      sel1.onclick = function()      {        //月份顯示預設值        sel2.options[0].selected = true;        //天數顯示預設值        sel3.options[0].selected = true;      }      //月份點擊 綁定函數      sel2.onclick = function()      {        //天數顯示預設值        sel3.options[0].selected = true;        //計算天數的顯示範圍        //如果是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;        }        //增加或刪除天數        //如果是28天,則刪除29、30、31天(即使他們不存在也不報錯)        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)          }        }      }      //結果顯示 設定好日期時間後 彈窗通知      box.onclick = function()       {       //當年、月、日都已經為設定值時       if(sel1.value !='year' && sel2.value != 'month' && sel3.value !='day')       {         alert("日期時間已經設定好");       }       }    </script>

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.