3 回答

TA貢獻1805條經(jīng)驗 獲得超10個贊
將 fdate 更改為 tdate
document.getElementById("fDate").setAttribute("min", minToDate);
到
document.getElementById("tDate").setAttribute("min", minToDate);
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = yyyy + '-' + mm + '-' + dd;
document.getElementById("fDate").setAttribute("min", today);
function myFunction() {
var minToDate = document.getElementById("fDate").value;
document.getElementById("tDate").setAttribute("min", minToDate);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<input type="date" id="fDate" onBlur="myFunction()">
<input type="date" id="tDate">

TA貢獻1893條經(jīng)驗 獲得超10個贊
您想要將最小值設(shè)置為第二個日期選擇器,因此您需要獲取該元素:
function myFunction() {
var minToDate = document.getElementById("fDate").value;
document.getElementById("tDate").setAttribute("min", minToDate);
}

TA貢獻1872條經(jīng)驗 獲得超4個贊
你的邏輯不起作用,因為你將 min 設(shè)置為fDate,而不是tDate。
您還應(yīng)該避免使用內(nèi)聯(lián)onX事件屬性,因為它們已經(jīng)過時并且不再是良好的做法。請改用不顯眼的事件處理程序。由于接受 Date 對象,因此可以進一步簡化邏輯min,因此您不需要修改 Date 對象來形成字符串。
還值得注意的是,該min設(shè)置不會阻止用戶輸入該值之前的日期。它僅在提交表單時用于驗證,正如您在下面的示例中Submit單擊按鈕時看到的那樣。
let fDate = document.querySelector('#fDate');
let tDate = document.querySelector('#tDate');
fDate.addEventListener('change', function() {
tDate.min = this.value;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<form>
<input type="date" id="fDate" />
<input type="date" id="tDate" />
<button>Submit</button>
</form>
- 3 回答
- 0 關(guān)注
- 203 瀏覽
添加回答
舉報