惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyberwarzone
Cyberwarzone
F
Fortinet All Blogs
Y
Y Combinator Blog
C
Check Point Blog
Latest news
Latest news
A
About on SuperTechFans
Spread Privacy
Spread Privacy
W
WeLiveSecurity
Know Your Adversary
Know Your Adversary
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 叶小钗
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
T
Troy Hunt's Blog
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园 - 司徒正美
Cloudbric
Cloudbric
J
Java Code Geeks
N
News | PayPal Newsroom
雷峰网
雷峰网
N
News and Events Feed by Topic
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
Recorded Future
Recorded Future
爱范儿
爱范儿
C
Cisco Blogs
P
Proofpoint News Feed
Hacker News: Ask HN
Hacker News: Ask HN
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
O
OpenAI News
大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
S
Secure Thoughts
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
V
Vulnerabilities – Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
SecWiki News
SecWiki News
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志
P
Privacy & Cybersecurity Law Blog

博客园 - 嚣张的沉默

读写txt文档 限制TextBox输入字数 计算TextBox输入的字数 我常用的正则与SQL语句 DataSet导入到Excel 用户控件的传值方法 Repeater模板列 asp.net的几个小技巧 百叶窗效果 建站安全 倒计时代码 解决SQL2000安装服务器挂起 删除.NET的最近项目 屏幕右下角弹出广告 DataSet写入、导出XML 上传图片重命名并创建文件夹 自动跳转页面带参数 微软出的AJAX控件的安装(转载) 第一次开博
年月日联动的JS代码
嚣张的沉默 · 2008-01-25 · via 博客园 - 嚣张的沉默

新建一个JS文件,起个名,把以下代码复制过去

function   YYYYMMDDstart()   
  
{   
          MonHead   
=   [31,   28,   31,   30,   31,   30,   31,   31,   30,   31,   30,   31];   
    
          
//先给年下拉框赋内容   
          var   y       =   new   Date().getFullYear();   
          
for   (var   i   =   (y-30);   i   <   (y-10);   i++)   //以今年为准,显示前30年之后的20年   
                  document.form1.YYYY.options.add(new   Option(""+i+"",   i));   
    
          
//赋月份的下拉框   
          for   (var   i   =   1;   i   <   13;   i++)   
                  document.form1.MM.options.add(
new   Option(""+i+"",   i));   
    
//          document.form1.YYYY.value   =   y;   //获取到当前年份
//
          document.form1.MM.value   =   new   Date().getMonth()   +   1;   获取到当前月份
          var   n   =   MonHead[new   Date().getMonth()];   
          
if   (new   Date().getMonth()   ==1   &&   IsPinYear(YYYYvalue))   n++;   
                  writeDay(n);   
//赋日期下拉框Author:meizz   
//
          document.form1.DD.value   =   new   Date().getDate();   获取到当前日期
  }
   
  
function   YYYYDD(str)   //年发生变化时日期发生变化(主要是判断闰平年)   
  {   
          
var   MMvalue   =   document.form1.MM.options[document.form1.MM.selectedIndex].value;   
          
if   (MMvalue   ==   ""){   var   e   =   document.form1.DD;   optionsClear(e);   return;}   
          
var   n   =   MonHead[MMvalue   -   1];   
          
if   (MMvalue   ==2   &&   IsPinYear(str))   n++;   
                  writeDay(n)   
  }
   
  
function   MMDD(str)     //月发生变化时日期联动   
  {   
          
var   YYYYvalue   =   document.form1.YYYY.options[document.form1.YYYY.selectedIndex].value;   
          
if   (YYYYvalue   ==   ""){   var   e   =   document.form1.DD;   optionsClear(e);   return;}   
          
var   n   =   MonHead[str   -   1];   
          
if   (str   ==2   &&   IsPinYear(YYYYvalue))   n++;   
                  writeDay(n)   
  }
   
  
function   writeDay(n)     //据条件写日期的下拉框   
  {   
          
var   e   =   document.form1.DD;   optionsClear(e);   
          
for   (var   i=1;   i<(n+1);   i++)   
                  e.options.add(
new   Option(""+i+"",   i));   
  }
   
  
function   IsPinYear(year)//判断是否闰平年   
  {       return(0   ==   year%4   &&   (year%100   !=0   ||   year%400   ==   0));}   
  
function   optionsClear(e)   
  
{   
          
for   (var   i=e.options.length;   i>0;   i--)   
                  e.remove(i);   
  }
 

在HTML页里调用此JS文件,并输入以下代码:

<select name="YYYY" onchange="YYYYDD(this.value)">
                
<option value="0">选择年</option>
            
</select>
            
<select name="MM" onchange="MMDD(this.value)">
                
<option value="0">选择月</option>
            
</select>
            
<select name="DD">
                
<option value="0">选择日</option>
            
</select>

在<body>里添加<body onload="YYYYMMDDstart()">

还忘了一件事,本人不知道用客户端控件在aspx.cs页里怎么能接收到值,所以用了一个笨办法,写了一个JS,在提交按钮的时候调用此JS。(如果哪位高人看了嚣张的博客,又知道怎么更好的解决的话,请留言指教,万分感谢)

<script language="javascript" type="text/javascript">
    
function year()
    
{
        
var y=document.getElementById("YYYY").value;
        document.getElementById(
"hidYear").value=y;
        
var m=document.getElementById("MM").value;
        document.getElementById(
"hidMonth").value=m;
        
var d=document.getElementById("DD").value;
        document.getElementById(
"hidDay").value=d;
    }

    
</script>