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 相关文章推荐
网页的标准,IMG不支持onload标签怎么办
Jun 29 Javascript
jquery表单验证使用插件formValidator
Nov 10 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
js使用html()或text()方法获取设置p标签的显示的值
Aug 01 Javascript
JavaScript中实现单体模式分享
Jan 29 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
JavaScript简单实现弹出拖拽窗口(二)
Jun 17 Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 Javascript
element-ui 表格实现单元格可编辑的示例
Feb 26 Javascript
使用pkg打包Node.js应用的方法步骤
Oct 19 Javascript
浅谈React Native 传参的几种方式(小结)
May 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变量可用字符
2014/05/28 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
CI框架附属类用法分析
2018/12/26 PHP
document.addEventListener使用介绍
2014/03/07 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
python调用新浪微博API项目实践
2014/07/28 Python
python获取当前日期和时间的方法
2015/04/30 Python
Python之py2exe打包工具详解
2017/06/14 Python
python Flask实现restful api service
2017/12/04 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
python实现手机通讯录搜索功能
2018/02/22 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
基于keras中的回调函数用法说明
2020/06/17 Python
Python实现扫码工具的示例代码
2020/10/09 Python
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
人力资源专业推荐信
2013/11/29 职场文书
中学生爱国演讲稿
2013/12/31 职场文书
请假条怎么写
2014/04/10 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
Nginx配置https的实现
2021/11/27 Servers
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android