js 动态校验开始结束时间的实现代码
很多时候要动态校验开始结束时间,每次都要写一次,太麻烦,以备后面拷贝使用,
代码作用简介:
开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差30天
html:
<input type='date' placeholder='请输入(From)...' value='${startDate }' onblur='onblurStartDate();' /><input type='date' placeholder='请输入(To)...' value='${endDate }' onblur='onblurEndDate();' />
js:
<script type='text/javascript'>/** * 动态校验开始时间 * @returns */function onblurStartDate() {var startDateStr = $('#txtStartDate').val();var nowDate = new Date().toISOString().substring(0, 10); //当前时间截取操作var endDateStr = addDate(startDateStr, 29); if(startDateStr >= nowDate) {alert('开始时间不能大于等于今天!');var endDate = addDate(nowDate, -29);$('#txtStartDate').val(endDate);return;}if(endDateStr >= nowDate) {$('#txtEndDate').val(nowDate);return false;}$('#txtEndDate').val(endDateStr);} /** * 动态校验结束时间 * @returns */function onblurEndDate() {var endDateStr = $('#txtEndDate').val();var nowDate = new Date().toISOString().substring(0, 10); //当前时间截取操作 if(endDateStr > nowDate) {alert('结束时间不能大于今天!');$('#txtEndDate').val(nowDate);var startDate = addDate(nowDate, -29);$('#txtStartDate').val(startDate);return false;}var startDateStr = addDate(endDateStr, -29);$('#txtStartDate').val(startDateStr);} /** * 日期加减法 格式:addDate(’2017-01-11’,20) * @param date计算开始的日期 * @param days需要加的天数 (正数加,负数减) * @returns 计算后的时间 */function addDate(date, days) {var d = new Date(date);d.setDate(d.getDate() + parseInt(days));var m = d.getMonth() + 1;m = parseInt(m) < 10 ? (’0’ + m) : m;var day = parseInt(d.getDate()) < 10 ? (’0’ + d.getDate()) : d.getDate();return d.getFullYear() + ’-’ + m + ’-’ + day;}</script>
java后台:
/** * 页面初始化+指定时间 * @param request * @param response * @return */@RequestMapping(value = { '/pageInit.do' })protected String pageInit(final HttpServletRequest request, final HttpServletResponse response) {SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd');request.setAttribute('startDate', sdf.format(TimeUtils.addDate(new Date(), -29)));request.setAttribute('endDate', sdf.format(new Date()));return 'taskManage/taskindex';}
总结
到此这篇关于js 动态校验开始结束时间的文章就介绍到这了,更多相关js 动态校验时间内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. CSS3实现动态翻牌效果 仿百度贴吧3D翻牌一次动画特效2. JavaScript中常见的事件用法小结3. JavaScript享元模式原理与用法实例详解4. Spring Cloud微服务使用webSocket的方法5. ASP点滴:ASP页面内VBScript和JScript的交互6. 不使用XMLHttpRequest对象实现Ajax效果的方法小结7. .Net core 的热插拔机制的深入探索及卸载问题求救指南8. Dockerfile 中 VOLUME 与 docker -v 的区别说明9. php下的原生ajax请求用法实例分析10. IntelliJ IDEA配置Tomcat服务器的方法
