少し問題があります。 Webシステムを開発していますが、フォームフィールドタイプの日付が頭痛の種です。システムはブラジルのみのユーザー向けであり、日付形式はdd/mm/yyyyである必要があります。ポルトガル語を使用するコンピューターからサイトにアクセスすると、HTMLフォームフィールドタイプの日付は希望どおりに機能します。ただし、コンピューター言語でサイトにアクセスすると、英語の日付形式はyyyy-mm-ddになります。ユーザーはコンピューターの日付形式が変更されていることに気付かないこともあるが、ユーザーは日付をdd/mm/yyyyの形式で表示したい場合があるため、これは問題です。
必要なのは、サイトにアクセスするためのマシン設定に関係なく、追加のJavaScriptライブラリを使用せずにdd/mm/yyyy形式であるということです。
使用されるコードは次のとおりです。
<input type="date" id="date">
そのようなことはありません。 input type=date
は、システムのデフォルトが何であれそれをGUIに表示しますが、常にISO形式(yyyy-mm-dd)で値を保存します。すべてのブラウザがこれをサポートしているわけではないことに注意してください。したがって、まだこの入力タイプに依存することはお勧めできません。
これが企業の問題である場合、すべてのコンピューターでローカル地域形式(dd-mm-yyyy)を使用するように強制すると、UIにこの形式で表示されます(地域設定を変更する前にwufooリンクを参照して、ブラウザーを再度開く必要があります) 。
参照: http://caniuse.com/#feat=input-datetime ブラウザのサポートについて
参照: https://www.w3.org/TR/2011/WD-html-markup-20110525/input.date.html 仕様<-フォーマット属性なし。
最善の方法は、JavaScriptベースのコンポーネントを使用することです。このコンポーネントを使用すると、任意にカスタマイズできます。
コンピューターの設定に関係なく一定の日付形式を使用するには、3つの異なる入力要素を使用して、それぞれ日、月、年をキャプチャする必要があります。ただし、次のように有効な日付があることを確認するには、ユーザー入力を検証する必要があります
<input id="txtDay" type="text" placeholder="DD" />
<input id="txtMonth" type="text" placeholder="MM" />
<input id="txtYear" type="text" placeholder="YYYY" />
<button id="but" onclick="validateDate()">Validate</button>
function validateDate() {
var date = new Date(document.getElementById("txtYear").value, document.getElementById("txtMonth").value, document.getElementById("txtDay").value);
if (date == "Invalid Date") {
alert("jnvalid date");
}
}