当前位置: 移动技术网 > IT编程>开发语言>JavaScript > js 动态校验开始结束时间的实现代码

js 动态校验开始结束时间的实现代码

2020年06月14日  | 移动技术网IT编程  | 我要评论
很多时候要动态校验开始结束时间,每次都要写一次,太麻烦,以备后面拷贝使用,代码作用简介:开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差30天html:<input type=

很多时候要动态校验开始结束时间,每次都要写一次,太麻烦,以备后面拷贝使用,

代码作用简介:

开始结束时间,联动,开始时间前后移动,对应结束时间相应变化,时间差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 动态校验时间内容请搜索移动技术网以前的文章或继续浏览下面的相关文章希望大家以后多多支持移动技术网!

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网