input type=Date로 최대 일자와 최소 일자를 적용했다.
웹에서는 잘 적용이 되었지만 모바일로 하면 적용이 안되는 문제를 발견했다.
결론적으로 iphone과 ipad에서 지원이 안되는 문제가 있었고, Pickaday 라이브러리를 사용해서 해결했다.
html
<!-- Pikaday Library -->
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/pikaday/css/pikaday.css">
<script src="https://cdn.jsdelivr.net/npm/pikaday/pikaday.js"></script>
<input type="text" id="datepicker" style="float:right; text-align:center; width:120px">
javascript
var today = new Date();
var lastDay = new Date(today.getFullYear(), today.getMonth() + 1, 0);
var picker = new Pikaday({
field: document.getElementById('datepicker'),
onSelect: date => {
const year = date.getFullYear()
,month = date.getMonth() + 1
,day = date.getDate()
,formattedDate = [
year
,month < 10 ? '0' + month : month
,day < 10 ? '0' + day : day
].join('-')
document.getElementById('datepicker').value = formattedDate
},
minDate: today,
maxDate: lastDay
});
위의 코드에서 onSelect: date 는 date format을 yyyy-mm-dd로 표현하기 위함이다.
반응형
'웹개발' 카테고리의 다른 글
당근비지니스 팔고 싶으면 3가지 무조건 해보세요 (0) | 2023.12.18 |
---|---|
[docker] fastapi + nginx 블루 그린 배포(무중단배포)[3] (1) | 2023.08.07 |
[docker] fastapi + nginx 블루 그린 배포(무중단배포)[2] (1) | 2023.08.07 |
[docker] fastapi + nginx 블루 그린 배포(무중단배포)[1] (1) | 2023.08.07 |
개발자가 사이드 프로젝트를 안하면 손해인 이유 (1) | 2023.07.21 |