我在 laravel 8 上使用 JQuery,我試圖顯示“這個欄位是必需的”。當日期欄位變為空時。但是,當我洗掉默認值(今天的日期)時,沒有任何顯示。如果我把日期放在未來,“日期不能在未來”。顯示沒有打擾。我不知道為什么。它正在輸入“如果(值===“”)”
查詢
$(document).on("change", "#date", function(){
var value = $("#date").val();
if (value === ""){
//this line doesn't show anything
$("#dateError").text("This field is required.").css('color', '#ff0000').attr('class', 'col-6');
} else{
$("#dateError").text("");
}
let today = new Date();
let inputDate = new Date(value);
if (inputDate > today){
// this will show
$("#dateError").text("The date can't be in the future.").css('color', '#ff0000').attr('class', 'col-6');
} else{
$("#dateError").text("");
}
})
html
<div class="row m-3">
<label for="date" class="col-lg-2 me-2">Date<i>*</i></label>
<input type="date" id="date" name="date" value="{{ old('date', now()->toDateString()) }}" class="col-lg-9"/>
</div>
<div class="row m-3">
<span id="dateError"></span>
</div>
uj5u.com熱心網友回復:
基本問題是if()無論第一個發生什么,您都在運行第二個,而第二個將覆寫第一個中的文本集。
一種解決方法是return在 value 為空時以及在設定錯誤文本之后
if (value === ""){
$("#dateError").text("This field is required.").css('color', '#ff0000').attr('class', 'col-6');
// don't go any further
return;
} else ...
uj5u.com熱心網友回復:
可能是因為===。值是一個日期物件,您將它與字串進行比較。而對于 today 變數,您只創建了一個實體。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/343467.html
標籤:javascript html 查询
上一篇:選擇影響不同元素的選項
