0
1

More than 3 years have passed since last update.

input type=dateの未入力時の「年/月/日」「yyyy/mm/dd」を非表示にする

Last updated at Posted at 2021-06-23

 input type=dateの値が未入力のときに「年/月/日」「yyyy/mm/dd」と表示されたままになるのが見にくい、未入力のときは空欄のままにしてほしいという要望があり、いろいろ調べたけれど設定で変えることはできないようなので、強引ですがJavaScriptで文字色を変えるという方法で対処しました。

※「年/月/日」「yyyy/mm/dd」等の表記はブラウザに依存するため変更できません。これも属性値で変更出来たら楽なのになあ。

// 初期表示時の文字色変更
$(window).on('load', function ()
    {
        $.each($('input[type=date]'), (index, datebox) =>
            {
                datebox.style.color = (datebox.value) ? 'black' : 'white';
            }
        );
    }
);

$(function ()
    {
        // フォーカス取得時は入力用にいったん色を付ける
        $('input[type=date]').focus(function (event)
            {
                this.style.color = 'black';
            }
        );

        // フォーカス喪失後の文字色変更
        $('input[type=date]').blur(function (event)
            {
                this.style.color = (this.value) ? 'black' : 'white';
            }
        );
    }
);

 一部だけに適応したいときは、セレクタに条件を追加してください。
 色はわかりやすいように black white と書いていますが、画面デザインに合わせてお好きなように。
 テキストボックスの色が複数ある場合は、white を transparent としておけばOKです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1