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的一个简单的脚本验证插件
Apr 05 Javascript
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
js分页代码分享
Apr 28 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
Dec 17 Javascript
简介JavaScript中的italics()方法的使用
Jun 08 Javascript
js 判断登录界面的账号密码是否为空
Feb 08 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
Oct 26 Javascript
vue-music关于Player播放器组件详解
Nov 28 Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 Javascript
webpack4.x CommonJS模块化浅析
Nov 09 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
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
PHP 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
javascript实现信息增删改查的方法
2015/07/25 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
详解express与koa中间件模式对比
2017/08/07 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
Vue结合Video.js播放m3u8视频流的方法示例
2018/05/04 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
python实现提取百度搜索结果的方法
2015/05/19 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
Python实现FTP文件传输的实例
2019/07/07 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
什么是Python中的顺序表
2020/06/02 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
酒吧员工的岗位职责
2013/11/26 职场文书
水务局局长岗位职责
2013/11/28 职场文书
中专毕业生的自我鉴定
2013/12/01 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
申论倡议书范文
2014/05/13 职场文书
大学生毕业个人总结
2015/02/15 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS