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

Javascript
javascript下拉框不被选中大类的区别方法
firefox浏览器下javascript 拖动层效果与原理分析代码
javascript 常用关键字列表集合
[原创]后缀就扩展名为js的文件是什么文件
初学JS的的小例子 javascript replace高亮替换
项目实践之javascript技巧
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
javascript数组使用调用方法汇总
JS的递增/递减运算符和带操作的赋值运算符的等价式
JavaScript开发时的五个注意事项
js中将多个语句写成一个语句的两种方法小结
javascript while语句和do while语句的区别分析
带参数的function 的自运行效果代码
看了就知道什么是JSON
js模拟实现Array的sort方法
JavaScript创建命名空间(namespace)的最简实现
文本链接逐个出现的js脚本
我见过最全的个人js加解密功能页面
CLASS_CONFUSION JS混淆 全源码
javascript轻松控制表格列样式的脚本代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 359 ::
收藏到网摘: 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]。类似的,还有城市的输入,如果您有兴趣,欢迎和我一起探讨!