有没有办法强制HTML5中的日期输入要求一个月的第一天作为唯一选项?
假设我使用格式dd/mm/yyyy
,则允许日期为“ 01/12/2012 ”,而“ 02/12/2012 ”则不会。< / p>
换句话说,用户将能够更改月份或年份,但不能更改值为“ 01 ”的不可变的日期。
注意:我能够用javascript做到这一点,但坦率地说这似乎有点过头了,需要做更多的工作来提供良好的用户体验,我认为这是应该/可能的事情处理模式,但在互联网上找不到任何东西,因为似乎HTML输入日期中的模式不提供验证(只有min
和max
属性这样做)。这是JS代码:
var e = document.getElementById("date_input");
var date = new Date(e.value);
var day = date.getDate();
if( day !== 1 ){
var month = date.getMonth();
if(month.length < 2) {
month = "0"+month;
};
document.getElementById("date_input").value = date.getFullYear()+"-"+month+"-01";
}
答案 0 :(得分:0)
尝试以下代码:
<!DOCTYPE html>
<html>
<head>
<script>
function dateCheck(){
var e = document.getElementById("inpDate");
var date = new Date(e.value);
var day = date.getDate();
if(day!=1){
document.getElementById ("errDisplay").innerHTML="Wrong input. Please enter correct day (First day of the month)";
}
}
</script>
</head>
<body>
<h2>Date Field Restrictions</h2>
<h6> Enter a date: </h6>
<input type="date" name="date" id="inpDate">
<button type="button" onclick="dateCheck()">Try it</button>
<p id="errDisplay"></p>
</body>
</html>