输入日期之改进模式

王朝java/jsp·作者佚名  2006-12-17
宽屏版  字体: |||超大  

输入日期之改进模式

输入日期之改进模式 输入日期之改进模式

当表单中含有日期输入时,以前的做法通常是由用户输入年月日,然后再对用户输入的数据进行校验。现在我要介绍的一种方法就是,让用户只能输入有效日期,从而无需再在客户端对日期的有效性进行检查。

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给我:girstalker@163.com。类似的,还有城市的输入,如果您有兴趣,欢迎和我一起探讨!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有