全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 表单  # 三级联动  # 基于JavaScript实现年月日三级联动  # 天不  # 默认值  # 绑定  # 也不  # 我现在  # 你还  # 不存在  # 或删除  # 可以使用  # 报错  # 验证码  # 真实姓名  # 大家多多  # 宋体  # 某年某月  # 当年  # changeMonth  # gender  # table 


相关文章: 网站建设制作、微信公众号,公明人民医院怎么在网上预约?  建站之星安装后如何自定义网站颜色与字体?  如何快速上传自定义模板至建站之星?  如何快速生成凡客建站的专业级图册?  网站微信制作软件,如何制作微信链接?  西安专业网站制作公司有哪些,陕西省建行官方网站?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  代刷网站制作软件,别人代刷火车票靠谱吗?  建站之星后台密码遗忘?如何快速找回?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  音乐网站服务器如何优化API响应速度?  江苏网站制作公司有哪些,江苏书法考级官方网站?  制作企业网站建设方案,怎样建设一个公司网站?  Android自定义listview布局实现上拉加载下拉刷新功能  宝塔面板如何快速创建新站点?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何正确下载安装西数主机建站助手?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  制作网站的模板软件,网站怎么建设?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  开封网站制作公司,网络用语开封是什么意思?  如何在Windows虚拟主机上快速搭建网站?  如何选择适合PHP云建站的开源框架?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何在橙子建站上传落地页?操作指南详解  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  打鱼网站制作软件,波克捕鱼官方号怎么注册?  建站主机与服务器功能差异如何区分?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  为什么Go需要go mod文件_Go go mod文件作用说明  建站之星在线版空间:自助建站+智能模板一键生成方案  建站之星如何取消后台验证码生成?  如何快速搭建安全的FTP站点?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  安云自助建站系统如何快速提升SEO排名?  广州商城建站系统开发成本与周期如何控制?  制作网页的网站有哪些,电脑上怎么做网页?  建站之星后台管理:高效配置与模板优化提升用户体验  如何用wdcp快速搭建高效网站?  网站网页制作专业公司,怎样制作自己的网页?  建站主机CVM配置优化、SEO策略与性能提升指南  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  常州企业网站制作公司,全国继续教育网怎么登录?  制作网站怎么制作,*游戏网站怎么搭建?  如何用PHP快速搭建高效网站?分步指南  长沙做网站要多少钱,长沙国安网络怎么样? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。