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 相关文章推荐
javascript 面向对象,实现namespace,class,继承,重载
Oct 29 Javascript
初试jQuery EasyUI 使用介绍
Apr 01 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
Sep 05 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
Jan 31 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
vue.js移动数组位置,同时更新视图的方法
Mar 08 Javascript
element-ui循环显示radio控件信息的方法
Aug 24 Javascript
electron实现qq快捷登录的方法示例
Oct 22 Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 Javascript
利用JS如何获取form表单数据
Dec 19 Javascript
vue实现登录功能
Dec 31 Vue.js
使用 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实现网站插件机制的方法
2009/11/10 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
python的几种开发工具介绍
2007/03/07 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
Python实现调度算法代码详解
2017/12/01 Python
python机器学习之贝叶斯分类
2018/03/26 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
一看就懂得Python的math模块
2018/10/21 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
学生励志演讲稿
2014/01/06 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
大学生演讲稿
2014/04/25 职场文书
精神文明单位申报材料
2014/05/02 职场文书
师范类求职信
2014/06/21 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
JavaScript组合继承详解
2021/11/07 Javascript