`
ZhengMingwei
  • 浏览: 135632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

页面2个时间选择器和相应的为空校验

    博客分类:
  • jsp
阅读更多

 <link href="/JNNQ/css/scs_style.css" rel="stylesheet" type="text/css" />
   
   
    <style type="text/css">
fieldset {
 margin:10px;
 padding:0 12px 12px 12px;
 border:0px solid #D4D4D4;
 background-color:#F9F9F9;
}
legend {
 font-weight:bold;
}
</style>

<!--
<fieldset>
<legend>说明</legend>
前两年写的东东,不是很规范,可以满足一些基本的功能要求,简单的日历选择,使用浮动的Iframe可以挡住select,月份选择功能,兼容IE6、IE7和FF。
</fieldset>
 -->

<script language="javascript">
/**********************   日期选择  ***************************
 * @作者  : Enjoyd
 * @Email  : [email]enjoyd@126.com[/email]
 * @OICQ  : 5003427
 转载请注明出处 <a hreF="http://www.5aiqu.com" target="_blank">http://www.5aiqu.com</a>
'**************************************************************************/
var MonthDNum=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
var MonthText=new Array("","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
var Calendar_obj,Calendar_obj2;
//var WriteHead=1;

document.write('<iframe style="position:absolute;width:206px;display:none;" name="divCalendar" id="divCalendar" frameborder="0" scrolling="no"></iframe>')

/*头部信息CSS及JS函数*/
var HeadMsg='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'+
'<html xmlns="http://www.w3.org/1999/xhtml">'+
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style type="text/css"><!--'+
'body,html{margin:0px;height:100%;background:#FFF;}a,li,input {font-family:"Verdana","Arial";font-size:12px;}'+
'a {height:18px;color:#000;padding-top:2px;text-decoration:none;display:block;}'+
'a:hover{height:17px;padding-top:1px;border:1px solid #000;background:#FFF;}'+
'.CurrentDate {height:17px;padding-top:1px;border:1px solid #000;background: #FFF;}'+
'ul{list-style:none;margin:0px;padding:0px;overflow:hidden;}'+
'ul li{float:left;margin-left:1px;padding-top:1px;display:inline;text-align:center;width:28px;height:20px;}'+
'#Tools {width:204px;background:#5563B0;padding:0px;}'+
'#Tools li{padding-bottom:1px;}'+
'#Tools a{color:#FFF;}'+
'#Tools a:hover{border:1px solid #2E3665;background:#979FCE;}'+
'#Title {width:204px;background:#CAD3E8;border-bottom:1px solid #000;}'+
'#Title li{height:16px;padding-top:2px;}'+
'#sYear,#sMonth {width:44px;height:16px;border:1px solid #88A9C9;border-right:0;padding-top:2px;}'+
'#SArr {width:19px;height:18px;background:#E2EBF4;font-size:10px;text-align:center;color:#5563B0;border:1px solid #88A9C9;border-left:0;margin-right:3px;cursor:pointer;}'+
'#Select {width:63px;border:1px solid #8AC;background:#FFF;height:146px;}'+
'#Select a{height:16px;padding-left:3px;}'+
'#Select a:hover{color:#000;background:#E2EBF4;padding-top:2px;border:0;}'+
'#Select #SelectBn {background:#C7CDEF;font-size:8px;line-height:7px;height:7px;text-align:center;color:#5563B0;}'+
'#Select #SelectBn:hover{background:#7682C1;color:#FFF;}#SArr,#sYear,#sMonth{float:left;}'+
'#SelectYear,#SelectMonth{position:absolute;top:21px;z-index:1;overflow:hidden;display:none;}'+
'--></style><scr'+
'ipt language="JavaScript">var mdown,sy,ey,sm,em,HideSelect=1,CurrentSelect,year,month,day;function Scroll(str,key)'+
'{var Html="",s,e,obj,d;'+
'if(key=="Y"){s=sy;e=ey;obj="SelectYearItem";d="年";}if(key=="M"){s=sm;e=em;obj="SelectMonthItem";d="";}'+
'if(str=="Up"){s--;e--;}if(str=="Next"){s++;e++;}'+
'if(key=="Y"){sy=s;ey=e;}if(key=="M"){if(s<1)s=1;if(s>6)s=6;if(e<7)e=7;if(e>12)e=12;sm=s;em=e;}'+
'for(i=s;i<=e;i++){Html+=\'<a href="javascript:;" onclick="parent.Calendar_Modif(\';Html+=(key=="M")?year+\',\'+i+\',\'+day+\');">\'+parent.MonthText[i]:i+\',\'+month+\',\'+day+\');">\'+i;Html+=d+"</a>";}'+
'document.getElementById(obj).innerHTML=Html;}'+
'function KeyDown(str){if(str==38){Scroll("Up",CurrentSelect);}if(str==40){Scroll("Next",CurrentSelect);}}'+
'function ShowSelect(str,str2){HideSelect=0;HSelect();Scroll(\'\',str2);document.getElementById(str).style.display="block";CurrentSelect=str2}'+
'function HSelect(){document.getElementById("SelectYear").style.display="none";document.getElementById("SelectMonth").style.display="none";}'+
'function Calendar_GetDate(y,m,d)'+
'{var objEvent=window.event||arguments.callee.caller.arguments[0];'+
'var srcElement=objEvent.srcElement;'+
'if(!srcElement){srcElement=objEvent.target;}'+
'if(srcElement.tagName=="A"){parent.Calendar_GetDate(y,m,srcElement.innerHTML);}}'+
'document.onclick=function(){if(HideSelect){HSelect();}HideSelect=1;}</scr'+
'ipt><body onkeydown="KeyDown(event.keyCode);">'+
'<div id="SelectYear" style="left:31px;" onclick="ShowSelect(\'SelectYear\',\'Y\');"><div id="Select"><a href="javascript:;" onmousedown="mdown=window.setInterval(\'Scroll(\\\'Up\\\',\\\'Y\\\')\',50);" onmouseup="window.clearInterval(mdown);" onmouseout="window.clearInterval(mdown);" id="SelectBn" style="border-bottom:1px solid #5563B0;"><font face="Webdings">5</font></a><div id="SelectYearItem">'+
'</div><a href="javascript:;" onmousedown="mdown=window.setInterval(\'Scroll(\\\'Next\\\',\\\'Y\\\')\',50);" onmouseup="window.clearInterval(mdown);" onmouseout="window.clearInterval(mdown);" id="SelectBn" style="border-top:1px solid #5563B0;"><font face="Webdings">6</font></a></div></div>'+
'<div id="SelectMonth" style="left:99px;" onclick="ShowSelect(\'SelectMonth\',\'M\');"><div id="Select"><a href="javascript:;" onmousedown="mdown=window.setInterval(\'Scroll(\\\'Up\\\',\\\'M\\\')\',50);" onmouseup="window.clearInterval(mdown);" onmouseout="window.clearInterval(mdown);" id="SelectBn" style="border-bottom:1px solid #5563B0;"><font face="Webdings">5</font></a><div id="SelectMonthItem">'+
'</div><a href="javascript:;" onmousedown="mdown=window.setInterval(\'Scroll(\\\'Next\\\',\\\'M\\\')\',50);" onmouseup="window.clearInterval(mdown);" onmouseout="window.clearInterval(mdown);" id="SelectBn" style="border-top:1px solid #5563B0;"><font face="Webdings">6</font></a></div></div>';


function Calendar_Show(year,month,day)
{
 var content;
 var date=new Date();
 
 var DayNum=(IsLeapYear(year) && month==2)?MonthDNum[month]+1:MonthDNum[month];
 var date2=new Date(year,month-1,1)
 var start=date2.getDay();
 var date2=null;
 var Trn=Math.ceil((DayNum+start)/7);
 
 var PrNum=1;
 
 content='<scr'+
 'ipt language="JavaScript">year='+year+',month='+month+',day='+day+',sy=year-3;ey=year+3;'+
 'sm=(month-3<1)?1:(+month-3>6)?6:month-3;'+
 'em=(month+3<7)?7:(month+3>12)?12:month+3;</scr'+
 'ipt><div style="border:1px solid #6A84C8;height:'+(64+21*Trn)+'px;"><ul><li style="background:#FFF;"></li>'+
 '<li style="width:144px;background:#FFF;padding-bottom:1px;" id="SelectArea"><div id="sYear" onclick="ShowSelect(\'SelectYear\',\'Y\');">'+year+'年</div><div id="SArr" onclick="ShowSelect(\'SelectYear\',\'Y\');"><font face="Webdings">6</font></div>'+
 '<div id="sMonth" onclick="ShowSelect(\'SelectMonth\',\'M\');">'+MonthText[month]+'</div><div id="SArr" onclick="ShowSelect(\'SelectMonth\',\'M\');"><font face="Webdings">6</font></div>';
 
 
 
 content+='</li>'+
 '<li><a href="javascript:parent.Calendar_hide();">×</a></li></ul>'+
 '<div id="Tools"><ul>'+
 '<li><a href="javascript:parent.Calendar_Modif('+(year-1)+','+month+','+day+');">«</a></li>'+
 '<li><a href="javascript:parent.Calendar_Modif('+year+','+(month-1)+','+day+')";>‹</a></li>';
 
 if(Calendar_obj2){content+='<li style="width:42px;"><a href="javascript:parent.Calendar_GetDate('+year+','+month+',0);">本月</a></li>'+
 '<li style="width:43px;"><a href="javascript:parent.Calendar_GetDate('+date.getFullYear()+','+(date.getMonth()+1)+','+date.getDate()+');">本日</a></li>';}
 else{content+='<li style="width:86px;"><a href="javascript:parent.Calendar_GetDate('+date.getFullYear()+','+(date.getMonth()+1)+','+date.getDate()+');">选择本日</a></li>';}
 
 content+='<li><a href="javascript:parent.Calendar_Modif('+year+','+(month+1)+','+day+');">›</a></li>'+
 '<li><a href="javascript:parent.Calendar_Modif('+(year+1)+','+month+','+day+');">»</a></li>'+
 '</ul></div>'+
 '<div id="Title"><ul><li style="color:#F00;">日</li><li>一</li><li>二</li><li>三</li><li>四</li><li>五</li><li style="color:#F00;">六</li></ul></div>'+
 '<ul onClick="javascript:Calendar_GetDate('+year+','+month+',-1);">';
 
 var date=null;
 
 if(start>0){content+='<li style="width:'+(start*29-1)+'px;"></li>';}
 for(i=1;i<=DayNum;i++)
 {
  content+='<li><a href="#"'
  content+=(day==PrNum)?' class="CurrentDate"':'';
  content+=((i+start)%7<2)?' style="color:#F00;"':'';
  content+='>'+PrNum+'</a></li>';
  PrNum++;
 }
 content+='</ul></div>';

//层定位
 var Calendar=document.getElementById('divCalendar');
 
 
 Calendar.style.height=66+21*Trn+'px';  //框架高度

 divCalendar.document.open()
 divCalendar.document.write(HeadMsg+content);
 divCalendar.document.close()
 
 var p=Calendar_obj;
 var eT=0,eL=0,eH=0,dH=0,sT=0,eP=p
 while(p && p.tagName!="BODY"){
 eT+=p.offsetTop;  //距窗口顶部距离
 eL+=p.offsetLeft;  //距窗口左边距离
 p=p.offsetParent;}
 var eH=eP.offsetHeight;    //输入框高度
 var eW=eP.offsetWidth;    //输入框宽度
 var dH=Calendar.style.pixelHeight; //框架高度
 
 Calendar.style.top=(eT+dH>document.body.scrollHeight && eT-dH>=0)?eT-dH+'px':eT+eH+'px';
 Calendar.style.left=(eL+206>document.body.scrollWidth && eL-206+eW>=0)?eL-206+eW+'px':eL+'px';
 setTimeout("document.getElementById('divCalendar').style.display=''",1);

}

/*是否润年*/
function IsLeapYear(y){
if(0==y%4 && ((y%100!=0)||(y%400==0))){return true;}
else{return false;}
}


function Calendar_Modif(y,m,d)
{
 if(m<1){m=12;y=y-1;}
 if(m>12){m=1;y=y+1;}
 var num=(IsLeapYear(y) && m==2)?MonthDNum[m]+1:MonthDNum[m];
 if(d>num){d=num;}
 Calendar_Show(y,m,d)
}


function Calendar(obj,obj2)
{

 var p=Calendar_obj=document.getElementById(obj);
 Calendar_obj2=document.getElementById(obj2);

 var re=/\d{4}-\d{1,2}-\d{1,2}/;
 var arr,Sdate;
 arr=re.exec(Calendar_obj.value);
 if(arr!=null){Sdate=Calendar_obj.value;}
 else{var mydate=new Date();
 Sdate=mydate.getFullYear()+'-'+(mydate.getMonth()+1)+'-'+mydate.getDate();}
 
 Sdate=Sdate.split("-");
 Calendar_Show(parseInt(Sdate[0]),parseInt(Sdate[1]),parseInt(Sdate[2]));
}

function Calendar_GetDate(y,m,d)
{

m=parseInt(m)<10 ? '0'+m:m; //加显示月03月
d=parseInt(d)<10 ? '0'+d:d;//加显示日03日

if(!Calendar_obj2||d!=0){
 if(d>0){Calendar_obj.value=y+'-'+m+'-'+d;}
 else{
  var objEvent=divCalendar.event||arguments.callee.caller.arguments[0];
  var srcElement=objEvent.srcElement;
  if(!srcElement){srcElement=objEvent.target;}
  Calendar_obj.value=y+'-'+m+'-'+srcElement.innerHTML;
 }
}
else{
 if(IsLeapYear(y) && m==2){num=MonthDNum[m]+1;}
 else{num=MonthDNum[m];}
 Calendar_obj.value=y+'-'+m+'-1';
 Calendar_obj2.value=y+'-'+m+'-'+num;
}

Calendar_hide();}

function Calendar_hide()
{document.getElementById("divCalendar").style.display="none";}

document.onclick=Calendar_hide;

function check1(){
    //var date1=document.getElementById("sDate1").value;
    //var date2=document.getElementById("sDate2").value;
    if(form1.sDate1.value=="" && !form1.sDate2.value==""){
       alert("请选择<开始时间>");
       return false;
    }
   if(!form1.sDate1.value=="" && form1.sDate2.value==""){
       alert("请选择<截至时间>");
       return false;
    }

   if(form1.sDate1.value=="" &&  form1.sDate2.value==""){
       alert("请选择<开始时间>和<截至时间>,本次查询为本月报表情况");
       //form1.action.value="servlet/BuLoginSelectServlet";
       //alert("测试qqq");
       //alert("测试111qqq");
       //location.href="servlet/BuLoginSelectServlet";
       //window.open("servlet/BuLoginSelectServlet");
       return true;
    }
        if(!form1.sDate1.value==""&& !form1.sDate2.value==""){
            var strJHRQ=form1.sDate1.value; //开始时间
            var strJHWCSJ=form1.sDate2.value; //截止时间
            // return false;
            var arrJHRQ=strJHRQ.split('-'); //转成成数组,分别为年,月,日,下同
            var arrJHWCSJ=strJHWCSJ.split('-');
            var dateJHRQ=new Date(parseInt(arrJHRQ[0]),parseInt(arrJHRQ[1])-1,parseInt(arrJHRQ[2]),0,0,0); //新建日期对象
            var dateJHWCSJ=new Date(parseInt(arrJHWCSJ[0]),parseInt(arrJHWCSJ[1])-1,parseInt(arrJHWCSJ[2]),0,0,0);

            if (dateJHRQ>dateJHWCSJ) {                               
                alert('<截止时间>不能小于<开始时间>');
                return false;
            }
    }
 }  

</script>
  </head>  
<body>
<form name="form1" id="myform" method="post" action="servlet/BuLoginSelectBydayServlet">
   <fieldset>
         开始时间<input  type="text" name="sDate1" id="sDate1" value="" size="10" onClick="return Calendar('sDate1','sDate2');" />&nbsp;&nbsp;&nbsp;&nbsp;
         截止时间<input type="text" name="sDate2" id="sDate2" value="" size="10" onClick="return Calendar('sDate2');" />

        <!-- <select><option>可挡住Select</option></select> -->&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  
  <input type="submit"  value="按日期时间段查询" name="Submit" onClick="return check1()">
 </fieldset>
</form>

 

 

自己可以看看,拷进jsp 中运行 就知道了!

分享到:
评论

相关推荐

    页面校验的使用说明

    二、为什么进行页面校验? 1. 提高兼容性:不同浏览器可能对非标准代码的处理方式不同,校验有助于确保所有用户都能看到一致的页面效果。 2. 提升可访问性:符合标准的代码更易于屏幕阅读器和其他辅助技术理解,使...

    struts2笔记之校验表单信息

    总结来说,Struts2的表单校验机制提供了多种灵活的方式,开发者可以根据实际需求选择适合的校验策略,确保用户输入的数据准确无误,从而提高应用的安全性和稳定性。无论是使用XML配置文件、注解还是自定义校验方法,...

    struts2 类型转换 数据校验

    在Struts2中,类型转换和数据校验是两个关键的特性,它们确保了用户输入的数据能够准确无误地被处理和验证,从而提高了应用的安全性和可靠性。 **类型转换(Type Conversion)** 在Struts2中,类型转换是自动进行...

    Struts2 输入校验

    例如,为一个字符串字段定义一个`@NotEmpty`注解,表示该字段不能为空。当用户提交表单时,Struts2会自动调用这些校验方法。 2. Validator框架校验: Struts2集成Apache Commons Validator,允许开发者创建XML配置...

    Struts2的输入校验

    总之,Struts2的输入校验是其强大功能的一部分,开发者可以根据项目需求选择合适的验证方式,以确保应用的安全和稳定。通过理解并熟练应用这些知识点,可以有效地提升Web应用的质量和用户体验。

    struts2登陆校验

    Struts2是一个强大的Java web应用程序框架,它提供了一种组织和构建MVC(模型-视图-控制器)架构的应用程序的方式。在Struts2中,校验是一个关键部分,用于确保用户输入的数据符合预定义的规则,从而提高数据质量和...

    日期选择器插件及使用案例

    日期选择器插件是网页开发中常用的一种工具,它的主要作用是为用户提供一个方便的界面,让用户能够通过鼠标点击而非手动输入来选择日期,从而提高交互性和用户体验。在本资源包中,包含了`datepicker`插件、JavaWeb...

    移动端地址选择

    可以采用多级下拉列表或者滑动选择器的形式,将省市区县逐级展开,让用户逐步选择。 2. 响应式设计:确保在不同尺寸的设备上,地址选择组件都能正常显示并可操作。这通常需要借助如Bootstrap或Mui等前端框架实现。 3...

    My97DatePicker日期插件,jquery校验插件validation,js

    2. `My97DatePicker.css`:此CSS文件用于定义日期选择器的样式,确保其与你的网站设计兼容。 在引入这些文件后,你可以通过简单的JavaScript代码来初始化日期选择器。例如,如果你希望一个`&lt;input&gt;`元素变为日期...

    spring注入web端校验类

    2. **配置Spring**:在Spring的配置文件中,你需要将这个自定义校验器注册为bean。这可以通过XML配置或Java配置完成。例如,在XML配置中,你可以添加以下代码: ```xml ``` 3. **使用校验器**:在控制器中,你...

    JQuery+validate校验+messages_zh中文的js库

    jQuery的核心功能包括选择器、DOM操作、事件处理、特效与动画以及Ajax等,使得开发者能够以更简洁的方式实现复杂的功能。 在本压缩包中,包含了jQuery的两个版本:`jquery-1.8.3.js` 和 `jquery-1.8.3.min.js`。这...

    第四章 WEB004-jQuery篇1

    层次选择器如 `后代选择器 (space)`, `子元素选择器 (&gt;)`, `相邻兄弟选择器 (+)` 和 `通用兄弟选择器 (~)` 则允许根据元素之间的关系进行选取。 【DOM转换和选择器】在jQuery中,`$(“#id”)` 用于选取具有特定ID的...

    搭建第一个struts2框架,实现简单那登录功能

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、结构清晰的MVC(模型-视图-控制器)架构应用。它是由Apache软件基金会开发的,是Struts1的升级版,提供了更丰富的功能和更高的灵活性。在这个...

    网上书店界面设计

    1. **表单验证**:对用户输入的数据进行校验,如检查邮箱格式是否正确,书名和作者是否为空等。 2. **Ajax**:异步加载数据,如分页显示书籍列表,避免整个页面刷新,提高用户体验。 3. **DOM操作**:使用JavaScript...

    struts2学习笔记五(第5讲.Struts2的输入校验)

    例如,我们可以在标签内定义,并为每个字段指定一个name属性(对应Action类的属性名),然后使用来设置验证类型(如required、int等)和相应的属性值。 2. **基于注解的输入验证**:Struts2提供了@Validated和@...

    多样式菜单选择器

    2. 设置界面的快速切换:在设置页面,可以使用PopMenuSelectedView展示多个设置项,用户可以直接在弹出菜单中选择,提升操作效率。 3. 导航栏的下拉菜单:在顶部导航栏,可以隐藏一部分功能,通过下拉菜单展现,节省...

    struts2 ppt

    Struts2是一个强大的Java web应用程序开发框架,它在JSP技术基础上,为网站建设提供了高效、灵活的解决方案。作为SSH(Spring、Struts2、Hibernate)集成框架的一部分,Struts2在企业级应用开发中占据重要地位,能...

    学生及公司注册页面SSH+Mysql

    SSH框架组合是Java企业级应用开发的常见选择,它提供了模型-视图-控制器(MVC)架构模式的实现,有助于提高开发效率和代码的可维护性。 **Struts2框架**: Struts2是ActionServlet的一种增强,它是MVC设计模式的一...

    留言板标记示例web

    可以控制元素的颜色、字体、大小、位置等属性,通过类选择器、ID选择器或元素选择器进行样式应用。 3. JavaScript:JavaScript是一种客户端脚本语言,常用于增加网页的交互性。在留言板中,它可以实现用户输入验证...

    简单Struts2实例开发

    通过这个简单的实例,你将理解Struts2的基本工作原理,包括MVC架构、过滤器、Action、JSP页面和配置文件的使用。继续深入学习,你可以掌握更多高级特性,如拦截器、结果类型、国际化、数据验证等,从而能构建更复杂...

Global site tag (gtag.js) - Google Analytics