본 사이트는 여러분의 사용자 경험을 개선하기 위해 유지 보수를 진행하는 동안 기능이 제한됩니다. 도움말로 문제가 해결되지 않고 질문을 하고 싶다면 Twitter의 @FirefoxSupport 및 Reddit의 /r/firefox 채널을 활용하세요.

Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

placeholder/css pseudo elements on data picker

more options

Sadly the HTML spec doesn't allow for the placeholder attribute on an <input type='date'...> field, so we have to find workarounds.

In Chrome, and Safari (iOS only, macOS has it's own issues) the hack following works (though annoyingly shws both palceholder and a truncated date picker), but the selector seems to be ignored in Firefox so we see the datepicker but no placeholder.

   <style>
       input[type='date']:before {
           content: attr(placeholder)
         }
   </style>
   <input type="date" name="dob" placeholder="Date of Birth " onfocus="this.placeholder=''" onblur="if (this.value==''){this.placeholder='Date of Birth '}">
   
   

I am hoping I'm just being dumb and missing something obvious, but any pointers are welcome ;)

Sadly the HTML spec doesn't allow for the placeholder attribute on an <input type='date'...> field, so we have to find workarounds. In Chrome, and Safari (iOS only, macOS has it's own issues) the hack following works (though annoyingly shws both palceholder and a truncated date picker), but the selector seems to be ignored in Firefox so we see the datepicker but no placeholder. <style> input[type='date']:before { content: attr(placeholder) } </style> <input type="date" name="dob" placeholder="Date of Birth&nbsp;" onfocus="this.placeholder=&#39;&#39;" onblur="if (this.value==&#39;&#39;){this.placeholder='Date of Birth&nbsp;'}"> I am hoping I'm just being dumb and missing something obvious, but any pointers are welcome ;)

글쓴이 offbeatmammal 수정일시

모든 댓글 (2)

more options

Where is the placeholder supposed to appear? When I use your input tag, the control is filled with mm/dd/yyyy so there isn't any room for text to appear.

more options

I would like it in place of the dd/mm/yyyy as that conveys no information to the user as to what the field is going to contain. Ideal outcome would be for the placeholder to be replaced by the dd/mm/yyyy text when the field gets focus as then we get the benefit of the placeholder and the formatting hint when the user actually goes to enter data

with the hack above I can have both placeholder and the format hint in Chrome (or just the placeholder on iOS/Android, as there's no keyboard option, just the date picker pop-up)

see https://stackoverflow.com/questions/20321202/not-showing-placeholder-for-input-type-date-field/23683687#23683687