入力タイプの日付にはおかしなことがあります。
これが私のhtmlです:
function getValue() {
$('#entered').text($('input[name=test_date]').val());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" min="2018-01-01" max="2018-05-05" name="test_date">
<button onclick="getValue()">Get value</button>
<p>Entered: <span id="entered"></span></p>
無効な値を入力すると、自動的に有効な値に変更されます。
しかし、常に正しいとは限りません。最大日付は常に31です。
例:
入力: "01/55/2018" =>
"01/31/2018" -True入力: "02/55/2018" => "02/31/2018" -False
また、Falseの場合、jqueryとphpの両方が値を取得できません。
常に「」を返します。
無効でも値を取得したい。
何か提案はありますか?
==================
問題は解決
しましたhttp://crbug.com/231811によると、理由は単純さです。
ユーザーが無効な日付を入力したときにエラーメッセージを表示したい場合。
input.validity.badInputまたはvalidationMessageで検証できます
ドキュメントからHTMLLiving Standard
value属性が指定されていて空でない場合は、有効な日付文字列である値が必要です。
値のサニタイズアルゴリズムは次のとおりです。要素の値が有効な日付文字列でない場合は、代わりに空の文字列に設定します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加