2017-08-06 76 views
0

我有一個像簡單輸入HTML輸入類型=日期,字段約束

Enter Payment Date : <input type="date" name="date" required><br/><br/> 

現在我想要從當前日期之前選擇日期限制用戶。我檢查了日期輸入的屬性,發現我可以設置最小和最大日期。但min屬性要求我指定一個特定日期,如min="2017-08-06"。但我希望它是系統的當前日期。因爲如果我將最小日期設置爲2017-08-06,並且用戶稍後在2017-08-20使用應用程序,那麼用戶可以選擇像2017-08-15左右這樣的日期,我不想。我希望用戶能夠從他/她正在使用該應用的當前日期中選擇日期。

有什麼辦法可以做到這一點使用這個輸入字段?

對不起,這是一個很長的解釋,我想清除它。

+0

您可以添加'max'和'min'屬性您NPUT類型= 「日期」 標籤,纔能有一個限制。你可能需要一些jQuery來調整你的邏輯 – Tushar

+0

@Tushar我確實研究過這個問題,我在我的問題中提到過。你能再次看到這個問題嗎? –

+0

HTML不能根據任何內容改變自己。但是你可以在用戶瀏覽器中通過javascript進行更改。更好的解決方案是使用服務器端編程語言在服務器上正確呈現HTML。你可能在那裏運行java或PHP? – caramba

回答

1

您將不得不使用JavaScript獲取當前日期,然後從中解析出一些信息。該代碼取自Samuel Meddows'接受的問題How do I get the current date in JavaScript的答案,然後調整爲使用HTML input標記的min屬性。

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('input').setAttribute("min", today);
Enter Payment Date : <input id="input" type="date" name="date" required><br/><br/>