当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 输入日期之改进模式

Javascript
js 方法实现返回多个数据的代码
Ext 表单布局实例代码
javascript document.referrer 用法
JavaScript 字符编码规则
JS 动态加载脚本的4种方法
jQuery textarea的长度进行验证
jQuery select的操作实现代码
jQuery 1.2.x 升級 1.3.x 注意事项
关于viewport,Ext.panel和Ext.form.panel的关系
日期 时间js控件
JavaScript的parseInt 进制问题
javascript 有用的脚本函数
javascript 两个字符串比较函数
javascript 代码运行器
js arguments.callee的应用代码
JavaScript Table排序 2.0 (更新)
给Function做的OOP扩展
<script defer> defer 是什么意思
FF和IE之间7个JavaScript的差异
javascript获取当前ip的代码

Javascript 中的 输入日期之改进模式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 299 ::
收藏到网摘: n/a

输入日期之改进模式

    当表单中含有日期输入时,以前的做法通常是由用户输入年月日,然后再对用户输入的数据进行校验。现在我要介绍的一种方法就是,让用户只能输入有效日期,从而无需再在客户端对日期的有效性进行检查。
function foption(N){
var i,N,str,M;
str="";
for(i=1;i<=N;i++)
  {if(i<10) str="<option value='0"+i+"'>"+"0"+i+"</option>";
   else str="<option value='"+i+"'>"+i+"</option>";  
      document.write(str);
  } 
}

function changeri(){
var nian,yue,ri;
ri=31;
yue=form1.selmonth .value ;
if(yue=="04" || yue=="06" || yue=="09" || yue=="11")
  ri=30;
if(yue=="02")
  {nian=form1.selyear.value;
  if((nian%4==0 && nian%100!=0) || nian%400==0)
     ri=29;
   else ri=28;  
  }
 flen=form1.selday .length ;
 form1.selday.length =ri;
 i=flen+1;
 for(i;i<=ri;i++)
   {
    form1.selday .options(i-1).text=i;
    form1.selday .options(i-1).value=i;
   }
}

    以上两个函数是用来初始化表单和改变表单中日期的可选值的。如果你看懂了上面的程序,您稍作改动即可实现更大范围的年份的输入。下面是表单部分代码:
<form name="form1" acrion="" method="post">
 <select name="selyear" onchange="javascript:changeri();">
         <script language="javascript">foption(12);</script>
        </select>年<select name="selmonth" onchange="javascript:changeri();">
         <script language="javascript">foption(12);</script>
        </select>月<select name=selday>
         <div id=selday><script language="javascript">foption(31);</script></div>
        </select>日
</form>
    如果你还有不明白的地方可以email给我:[email protected]。类似的,还有城市的输入,如果您有兴趣,欢迎和我一起探讨!