js 动态校验开始结束时间的实现代码


Posted in Javascript onMay 25, 2020

很多时候要动态校验开始结束时间,每次都要写一次,太麻烦,以备后面拷贝使用,

代码作用简介:

开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差30天

html:

<input type="date" placeholder="请输入(From)..." id="txtStartDate" value="${startDate }" onblur="onblurStartDate();" />
<input type="date" placeholder="请输入(To)..." id="txtEndDate" 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 动态校验时间内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Prototype使用指南之enumerable.js
Jan 10 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
Jan 04 Javascript
JS获取当前日期和时间的简单实例
Nov 19 Javascript
QQ空间顶部折页撕开效果示例代码
Jun 15 Javascript
JavaScript的作用域和块级作用域概念理解
Sep 21 Javascript
js实现可以点击收缩或张开的悬浮窗
Sep 18 Javascript
图片加载完成再执行事件的实例
Nov 16 Javascript
详解angular应用容器化部署
Aug 14 Javascript
vue中rem的配置的方法示例
Aug 30 Javascript
javascript中的event loop事件循环详解
Dec 14 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
Jan 23 Javascript
vue将文件/图片批量打包下载zip的教程
Oct 21 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
May 25 #Javascript
Node.js API详解之 repl模块用法实例分析
May 25 #Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
May 24 #Javascript
如何使用vue slot创建一个模态框的实例代码
May 24 #Javascript
使用React代码动态生成栅格布局的方法
May 24 #Javascript
ES6对象操作实例详解
May 23 #Javascript
ES6函数和数组用法实例分析
May 23 #Javascript
You might like
用PHP创建PDF中文文档
2006/10/09 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
PHP中each与list用法分析
2016/01/08 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
Python实现各种排序算法的代码示例总结
2015/12/11 Python
python3 flask实现文件上传功能
2020/03/20 Python
详解python中index()、find()方法
2019/08/29 Python
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
业务主管岗位职责
2013/11/20 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
集中采购方案
2014/06/10 职场文书
学校运动会报道稿
2014/09/23 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书