js 動(dòng)態(tài)校驗(yàn)開(kāi)始結(jié)束時(shí)間的實(shí)現(xiàn)代碼
很多時(shí)候要?jiǎng)討B(tài)校驗(yàn)開(kāi)始結(jié)束時(shí)間,每次都要寫一次,太麻煩,以備后面拷貝使用,
代碼作用簡(jiǎn)介:
開(kāi)始結(jié)束時(shí)間,聯(lián)動(dòng),開(kāi)始時(shí)間前后移動(dòng),對(duì)應(yīng)結(jié)束時(shí)間相應(yīng)變化,時(shí)間差30天
html:
<input type="date" placeholder="請(qǐng)輸入(From)..." id="txtStartDate" value="${startDate }" onblur="onblurStartDate();" />
<input type="date" placeholder="請(qǐng)輸入(To)..." id="txtEndDate" value="${endDate }" onblur="onblurEndDate();" />
js:
<script type="text/javascript">
/**
* 動(dòng)態(tài)校驗(yàn)開(kāi)始時(shí)間
* @returns
*/
function onblurStartDate() {
var startDateStr = $("#txtStartDate").val();
var nowDate = new Date().toISOString().substring(0, 10); //當(dāng)前時(shí)間截取操作
var endDateStr = addDate(startDateStr, 29);
if(startDateStr >= nowDate) {
alert("開(kāi)始時(shí)間不能大于等于今天!");
var endDate = addDate(nowDate, -29);
$("#txtStartDate").val(endDate);
return;
}
if(endDateStr >= nowDate) {
$("#txtEndDate").val(nowDate);
return false;
}
$("#txtEndDate").val(endDateStr);
}
/**
* 動(dòng)態(tài)校驗(yàn)結(jié)束時(shí)間
* @returns
*/
function onblurEndDate() {
var endDateStr = $("#txtEndDate").val();
var nowDate = new Date().toISOString().substring(0, 10); //當(dāng)前時(shí)間截取操作
if(endDateStr > nowDate) {
alert("結(jié)束時(shí)間不能大于今天!");
$("#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計(jì)算開(kāi)始的日期
* @param days需要加的天數(shù) (正數(shù)加,負(fù)數(shù)減)
* @returns 計(jì)算后的時(shí)間
*/
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后臺(tái):
/**
* 頁(yè)面初始化+指定時(shí)間
* @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";
}
總結(jié)
到此這篇關(guān)于js 動(dòng)態(tài)校驗(yàn)開(kāi)始結(jié)束時(shí)間的文章就介紹到這了,更多相關(guān)js 動(dòng)態(tài)校驗(yàn)時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Js生成隨機(jī)數(shù)/隨機(jī)字符串的方法小結(jié)【5種方法】
這篇文章主要介紹了Js生成隨機(jī)數(shù)/隨機(jī)字符串的方法,結(jié)合實(shí)例形式總結(jié)分析了5種Js生成隨機(jī)數(shù)/隨機(jī)字符串的操作技巧,需要的朋友可以參考下2020-05-05
使用javascript做的一個(gè)隨機(jī)點(diǎn)名程序
這篇文章主要介紹了使用javascript做的一個(gè)隨機(jī)點(diǎn)名程序,經(jīng)測(cè)試,效果相當(dāng)不錯(cuò),需要的朋友可以參考下2014-02-02
JS中如何使用 filter() 方法過(guò)濾數(shù)組元素
filter()方法是JavaScript中用于過(guò)濾數(shù)組元素的常用方法,它接受一個(gè)回調(diào)函數(shù)作為參數(shù),返回一個(gè)新數(shù)組,本文總結(jié)了使用filter()方法的最佳實(shí)踐,感興趣的朋友一起看看吧2025-01-01
復(fù)制小說(shuō)文本時(shí)出現(xiàn)的隨機(jī)亂碼的去除方法
想把小說(shuō)復(fù)制下來(lái)慢慢看,卻發(fā)現(xiàn)復(fù)制到記事本里出現(xiàn)一大堆亂七八糟的東西,很是不爽。于是就想了個(gè)簡(jiǎn)單的辦法把它干掉了。2010-09-09
JS 網(wǎng)頁(yè)彩蛋 實(shí)現(xiàn)代碼
顯示一定時(shí)間后消失,刷新之后清空變量值,重新開(kāi)始記錄鍵值。 程序的原理就是檢測(cè)按鍵的鍵值,當(dāng)達(dá)到預(yù)定條件時(shí)執(zhí)行規(guī)定的函數(shù)。2009-09-09
element?UI中在?el-select?與?el-tree?結(jié)合組件實(shí)現(xiàn)過(guò)程
項(xiàng)目上實(shí)現(xiàn)某個(gè)功能,使用到了?el-select?和?el-tree?組合實(shí)現(xiàn),記錄下兩者結(jié)合的實(shí)現(xiàn)過(guò)程,對(duì)?el-select?與?el-tree?結(jié)合組件實(shí)現(xiàn)過(guò)程感興趣的朋友跟隨小編一起看看吧2023-02-02

