在线用户    站点地图 技术论坛 文档中心 站点导航 资源下载 语言参考 教程专题 站点统计 业务项目 使用帮助
您的位置
MSDN参考新加了CSS2参考,全中文,制作精良。245k下载。           新加了sxf_sxf推荐的"动态网页专家指导" 下载!          新加了lsg2002lsg推荐的"ASP.NET高级编程(PDF)" 下载!          新加了DHTML代码预览!!,功能强大哦!欢迎试用          新加了网友lincong为大家提供的SQL Server 2000 程序员指南,有点大,但同时也就说明内容全咯!           新加了网友ibra为大家提供的北大的JAVA课件,很适合初学者入门           新加了一个java的连接缓冲池代码示例           新加了人月神话电子版下载!软件工程巨著哦~~           更新了评分标准,引入了“专家分”概念,相信可以更好的激励大家的学习!详情请看“使用帮助”           新加了由网友GGG提供的“IIS超级管理手册”,值得一看哦!(虽然我没看过 :P )           新加了“英雄榜”,欢迎测试!           “无组件上传·从原理剖析到实践”已经全部完成,源码全部开放,有兴趣的朋友请到文档中心一探究竟。  您的位置  首页>技术论坛>ASP>F0027445 在同一窗口中打开页面中的链接 在新窗口中打开页面中的链接 将ASPCHINA设为首页 将ASPCHINA加入书签    
 LOGIN HERE
用户:
密码: 忘记密码
记住密码 用户注册 游客进入

论坛首页
|--web开发
   |--ASP
   |--JSP
   |--ASP.net
   |--DHTML
   |--RUBY
|--软件开发
   |--C++
      |--Code here
   |--JAVA
   |--VB
   |--Delphi
   |--XML
|--.net技术
   |--C#
   |--VB.net
|--Yup开发组
|--站务&投诉
   |--站长专区
|--硬件&网络
|--休息室
|--数据库技术
 进入精华区 我要发言



 如何定义文本框的格式为日期型!back to ASP forum  
作者:水若韩,6级分数:0
日期:2002/11/4 14:42:00类别:ASP, 技术问题
回复:5次浏览:1734次
状态:无分贴

我有一个表单,表单放了一个出生日期的字段,但为了限制用户输入非日期型数据,所以我得定义该文本框的格式!
但不知如何定义日期型的文本框的格式?

reply[F0027445]
 



 
 re [1] 如何定义文本框的格式为日期型!ASP forum  
- tomghua02-11-04 14:45  

HTML中有吗?

reply[F0027448]
 



 
 re [1] 如何定义文本框的格式为日期型!ASP forum  
- twinkle02-11-04 15:20  

格式定义,只有写客户端脚本判断了,我想,自己写个脚本吧,比如:
//检测时期(YYYY年MM月DD日)
function  CheckDate(year, month, day, mini_year)
{
    var the_day;
    if(mini_year == null) mini_year = 1900;
    if(!CheckNum(year))
        return false;
    var the_year = document.forms[0].elements[year].value;
    if(the_year.length != 4 || the_year < mini_year) {
        alert("请输入4位数字来表示年份,且不得小于 " + mini_year +"!");
        document.forms[0].elements[year].focus();
        document.forms[0].elements[year].select();
        return false;
    }
    if(!CheckNum(month))
        return false;
    var the_month = document.forms[0].elements[month].value;
    if(the_month < 1 || the_month > 12) {
        alert("请输入正确的月份!")
        document.forms[0].elements[month].focus();
        document.forms[0].elements[month].select();
        return false;
    }
   
    if(day == null) {
        the_day = 1;
        return true;
    }
    if(!CheckNum(day))
        return false;
    the_day = document.forms[0].elements[day].value;
    if (the_day > 0) {
        switch(eval(the_month)) {
            case 4:
            case 6:
            case 9:
            case 11:
                if (the_day < 31)
                    return true;
                break;
            case 2:
                var num = Math.floor(the_year/4) * 4;
                if(the_year == num) {
                    if (the_day < 30)
                        return true;
                } else {
                    if (the_day < 29)
                        return true;
                }
                break;
            default:
                if (the_day < 32)
                    return true;
                break;
        }
    }
    alert("请输入正确的日期!");
    document.forms[0].elements[day].focus();
    document.forms[0].elements[day].select();
    return false;
}   

然后,提交前,调用CheckDate();函数了。

reply[F0027460]
 



 
 re [2] 如何定义文本框的格式为日期型!ASP forum  
- shocknet02-12-06 22:24  

个人认为用下拉列表来做。会更好。可以自动计算每月的天数。
做右函数.可以通用.可以到测试,如果有什么地方可以改进的.请提出来.谢谢.

jS如下:
'-------------------------------
funChangeDate的参数格式如下:
funChangeDate(表单名字,年份下拉列表在表单中的数组索引值,月份的数组索引值,日期的数组索引值)
function funChangeDate(varForm,varYear,varMonth,varDate){
  //保存现有日期
  varCurrentDate=varForm.elements[varDate].value;
 
  //
  varResultDays=31;
  switch(varForm.elements[varMonth].value){
    case "2":
      if(varForm.elements[varYear].value%4==0){
        varResultDays=29;
      }else{
        varResultDays=28;
      }
      break;
    case "4":
    case "6":
    case "9":
    case "11":
      varResultDays=30;
      break;
  }

  //重新设置天数的长度
  varForm.elements[varDate].length=varResultDays;

  //处理天数的多寡
  if(varCurrentDate>=varResultDays){
    varForm.elements[varDate].selectedIndex=varResultDays-1
  }else{
    for(i=28;i<=varResultDays;i++){
      varForm.elements[varDate].options[i-1].text=i+"日";
      varForm.elements[varDate].options[i-1].value=i;
    }
  }
}

HTML文件如下:
'------------------------------------
<%
  sub funShowYear(varDateStart,varDateEnd,varDateSelected)
    for i=varDateStart to varDateEnd
    response.write("<option value='"&i&"'")
    if i=varDateSelect then response.write(" selected")
    response.write(">"&i&"年</option>")
  next
  end sub

  sub funShowMonth(varDateStart,varDateEnd,varDateSelected)
    for i=varDateStart to varDateEnd
    response.write("<option value='"&i&"'")
    if i=varDateSelected then response.write(" selected")
    response.write(">")
    if len(i)=1 then response.write("0")
    response.write(i&"月</option>")
  next
  end sub

  sub funShowDate(varDateStart,varDateEnd,varDateSelected)
    for i=varDateStart to varDateEnd
    response.write("<option value='"&i&"'")
    if i=varDateSelected then response.write(" selected")
    response.write(">")
    if len(i)=1 then response.write("0")
    response.write(i&"日</option>")
  next
  end sub
%>
.............
    <select name="hotel_year2" onchange="javascript:funChangeDate(document.frmSearch,4,5,6);">
      <%call funShowYear(year(dateadd("d",1,date)),year(dateadd("yyyy",1,dateadd("d",1,date))),year(dateadd("d",1,date)))%>
      </select>
      <select name="hotel_month2" onchange="javascript:funChangeDate(document.frmSearch,4,5,6);">
      <%call funShowMonth(1,12,month(dateadd("d",1,date)))%>
      </select>
      <select name="hotel_date2">
      <%call funShowDate(1,31,day(dateadd("d",1,date)))%>
      </select>

reply[F0034562]
 



 
 re [1] 如何定义文本框的格式为日期型!ASP forum  
- xmxoxo02-11-14 18:18  

我的做法是用一个文本框和两个下拉框,大体上是这样:
19<input type=text name=yy size=2 maxlength=2>年
<select name=mm>
<%for i=1 to 12
response.write "<option value="&i&">"&i&"</option>"
next%>
</select>月
<select name=dd>
<%for i=1 to 31
response.write "<option value="&i&">"&i&"</option>"
next%>
</select>日

在提交后记得要把它转成日期型

reply[F0029786]
 



 
 re [2] 如何定义文本框的格式为日期型!ASP forum  
- 天涯烟草04-01-30 02:13  

个人意见:用VBS看来要简单得多:
<script language=vbscript>
sub yy_onchange()
uyy=frm.yy.value
if uyy=empty then
msgbox "不能为空!"
‘这里可以定义光标位置
fo(1)
exit sub
end if
…………
end sub
sub fo(x)
‘在此定义光标位置,指出错误所在!
end sub
</script>
似乎这样做起来容易检查更容易写各位觉得如何?

reply[F0104045]
 



您的位置
  (c)2000-2021 Yup Studio, all rights reserved.  
367.1875