Я заставил его работать с некоторым псевдоклассом ": before" и небольшим количеством javascript.
Вы должны будете иметь класс или идентификатор на вашем входе. Вот пример с идентификатором «myInput»
#myInput:before{ content:"Date of birth"; width:100%; color:#AAA; }
#myInput:focus:before,
#myInput.not_empty:before{ content:none }
Затем в javascript добавьте класс not_empty в зависимости от значения в событиях onChange и onKeyUp.
Вы можете даже динамически добавлять все это в каждое поле даты.
Вот примерный код для этого:
$('input[type=date]').each(function(){
var input=$(this);
var id=input.attr('id');
if (!id){
id='RandomGeneratedId_'+Math.random().toString(36).substring(7);
input.attr('id',id);
}
var placeholder=input.attr('placeholder');
if (placeholder){
$('head').append('<style> #'+id+':before{ content:"'+placeholder+'"; width:100%; color:#AAA; } #'+id+':focus:before,#'+id+'.not_empty:before{ content:none }</style>');
}
input.on('change keyup',function(){
if ($(this).val()){
$(this).addClass('not_empty')
}else{
$(this).removeClass('not_empty')
}
return false;
});
});
Это не идеально, но хорошо работает в браузерах Chrome и iOS7