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 相关文章推荐
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
优化Jquery,提升网页加载速度
Nov 14 Javascript
js判断游览器类型及版本号的代码
May 11 Javascript
js 实现的可折叠留言板(附源码下载)
Jul 01 Javascript
jQuery实现的一个自定义Placeholder属性插件
Aug 11 Javascript
JQuery的Pager分页器实现代码
May 03 Javascript
js判断是否为空和typeof的用法(详解)
Oct 07 Javascript
原生js实现下拉框功能(支持键盘事件)
Jan 13 Javascript
angular实现商品筛选功能
Feb 01 Javascript
Bootstrap列表组学习使用
Feb 09 Javascript
react MPA 多页配置详解
Oct 18 Javascript
javascript递归函数定义和用法示例分析
Jul 22 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和javascript之间变量的传递实现代码
2012/12/19 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
PHP的PDO连接讲解
2019/01/24 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
Javascript实现找不同色块的游戏
2017/07/17 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
python中urllib模块用法实例详解
2014/11/19 Python
python实现俄罗斯方块
2018/06/26 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
方正Java笔试题
2014/07/03 面试题
大学生两会精神学习心得体会
2014/03/10 职场文书
食品安全处置方案
2014/06/14 职场文书
专题组织生活会方案
2014/06/15 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书