日付フィールドでプレースホルダーを使用することは不可能ですが、本当に必要です。
プレースホルダーとして、それぞれにテキスト「From」と「To」を含む 2 つの日付入力が必要です。
日付フィールドでプレースホルダーを使用することは不可能ですが、本当に必要です。
プレースホルダーとして、それぞれにテキスト「From」と「To」を含む 2 つの日付入力が必要です。
次の CSS のみのトリックを使用しています。
input[type="date"]:before {
content: attr(placeholder) !important;
color: #aaa;
margin-right: 0.5em;
}
input[type="date"]:focus:before,
input[type="date"]:valid:before {
content: "";
}
<input type="date" placeholder="Choose a Date" />
CSS の before pseudo を使用できます。
.dateclass {
width: 100%;
}
.dateclass.placeholderclass::before {
width: 100%;
content: attr(placeholder);
}
.dateclass.placeholderclass:hover::before {
width: 0%;
content: "";
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<input
type="date"
placeholder="Please specify a date"
onClick="$(this).removeClass('placeholderclass')"
class="dateclass placeholderclass">
You can do something like this:
<input onfocus="(this.type='date')" class="js-form-control" placeholder="Enter Date">
これを試して:
必要な値を持つプレースホルダー属性をフィールドに追加してから、次の jQuery を追加します。
$('[placeholder]').each(function(){
$(this).val($(this).attr('placeholder'));
}).focus(function(){
if ($(this).val() == $(this).attr('placeholder')) { $(this).val(''); }
}).blur(function(){
if ($(this).val() == '') { $(this).val($(this).attr('placeholder')); }
});
プレースホルダーを使用できないフィールドについてはテストしていませんが、コードを変更する必要はまったくありません。
別の注意点として、このコードは、プレースホルダー属性をサポートしていないブラウザーにとっても優れたソリューションです。
わかりました、これが私がやったことです:
$(document).on('change','#birthday',function(){
if($('#birthday').val()!==''){
$('#birthday').addClass('hasValue');
}else{
$('#birthday').removeClass('hasValue');
}
})
これは、値が指定されたときにプレースホルダーを削除するためです。
input[type="date"]:before {
content: attr(placeholder) !important;
color: #5C5C5C;
margin-right: 0.5em;
}
input[type="date"]:focus:before,
input[type="date"].hasValue:before {
content: "" !important;
margin-right: 0;
}
フォーカスがある場合、または .hasValue の場合は、プレースホルダーとそのマージンを削除します。
CSS
input[type="date"] {position: relative;}
input[type="date"]:before {
position: absolute;left: 0px;top: 0px;
content: "Enter DOB";
color: #999;
width: 100%;line-height: 32px;
}
input[type="date"]:valid:before {display: none;}
<input type="date" required />