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 相关文章推荐
深入分析JQuery和JavaScript的异同
Oct 23 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
Mar 24 Javascript
jQuery EasyUI之DataGrid使用实例详解
Jan 04 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
Apr 15 Javascript
从0开始学Vue
Oct 27 Javascript
JS简单生成随机数(随机密码)的方法
May 11 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
node.js将MongoDB数据同步到MySQL的步骤
Dec 10 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
Jan 30 Javascript
解决Mac node版本升级失败的问题
May 16 Javascript
layui框架与SSM前后台交互的方法
Sep 12 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
SharePoint 客户端对象模型 (一) ECMA Script
2011/05/22 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
Python实现简单登录验证
2016/04/13 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
python 中字典嵌套列表的方法
2018/07/03 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
Java语言程序设计测试题选择题部分
2014/04/03 面试题
董事长职责范文
2013/11/08 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server