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 相关文章推荐
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
May 25 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
Dec 07 Javascript
Js如何判断客户端是PC还是手持设备简单分析
Nov 22 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
Jan 27 Javascript
javascript:void(0)点击登录没反应怎么解决
Nov 13 Javascript
基于JavaScript代码实现微信扫一扫下载APP
Dec 30 Javascript
网页中JS函数自动执行常用三种方法
Mar 30 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
JavaScript 中的 this 简单规则
Sep 19 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
Elasticsearch实现复合查询高亮结果功能
Sep 10 Javascript
基于vue 动态菜单 刷新空白问题的解决
Aug 06 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守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
浅谈JS闭包中的循环绑定处理程序
2014/11/09 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
[11:44]Ti9 OG夺冠时刻
2019/08/25 DOTA
Python实现的rsa加密算法详解
2018/01/24 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python列表切片操作实例总结
2019/02/19 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
python实现单机五子棋
2020/08/28 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
社会实践先进工作者事迹材料
2014/05/06 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python