1. ホーム
  2. javascript

[解決済み] <input type="date"> をすべてのブラウザでサポートするようにするには?代替案はありますか?

2023-06-22 03:34:03

質問

HTML5要素の入力属性を使用していますが、Google Chromeだけが日付、時刻の属性をサポートしています。私は試した モダナイザー を試してみましたが、私のウェブサイトにどのように統合すればよいのかわかりません(どのようにコーディングすればよいのか、どのような構文があるのか、どのようなものが含まれているのか)。すべてのブラウザに日付、時刻の属性で動作する方法については、そこに任意のコードスニペット。

どのように解決するには?

入力タイプに対応していないブラウザ date はデフォルトで標準のタイプである text であり、したがって、あなたがしなければならないのは、タイプ プロパティ (属性ではなく) でない場合、それが date になっている場合は、日付の入力はブラウザでサポートされていないので、独自の日付ピッカーを追加します。

if ( $('[type="date"]').prop('type') != 'date' ) {
    $('[type="date"]').datepicker();
}

フィドル

jQuery UIのdatepickerはおそらく最もよく使われるものですが、UIライブラリを他に使用していない場合は、かなりの量のjavascriptが追加されます。

その type 属性は決して変更されず、ブラウザはデフォルトの text 型に戻るだけなので、プロパティを確認する必要があります。

属性は、上記の例のように、まだセレクタとして使用することができます。