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 text,radio,checkbox,select操作实现代码
Jul 09 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
Jun 06 Javascript
深入理解javascript中concat方法
Dec 12 Javascript
Angular的MVC和作用域
Dec 26 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
详解ES6之用let声明变量以及let loop机制
Jul 15 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 Javascript
Js中使用正则表达式验证输入是否有特殊字符
Sep 07 Javascript
vue中各种通信传值方式总结
Feb 14 Javascript
jQuery中使用validate插件校验表单功能
May 24 jQuery
node.js通过url读取文件
Oct 16 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 fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
php中使用redis队列操作实例代码
2013/02/07 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
python实现批量注册网站用户的示例
2019/02/22 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
用Python进行websocket接口测试
2020/10/16 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
治超工作实施方案
2014/05/04 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
工程承包协议书范本
2014/09/29 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
二审代理词范文
2015/05/25 职场文书
高一数学教学反思
2016/02/18 职场文书