2014年6月20日金曜日

HTMLフォームに入力された日付(年月日)が現在日付(年月日)より過去に指定されているかどうか調べるJavaScript(+HTML)

予約日や返却日など、フォームにおいて現在日付より過去の日付を入力された場合は、アラートを表示して、その後の処理に進ませたくないことがあります。

そういう場合、フォームに入力された日付(年月日)と現在日付(年月日)を比較してあげる仕組みが必要です。JavaScript(JQuery使用)で、以下のようなコードで実装できます。


ポイントは1の時分秒を0にセットした現在日付を得る所です。Dateコンストラクタは明示的に指定しなかった箇所の値は0にセットするので、一旦、new Date()で現在日時のDateオブジェクトを作った後、newDate(now.getFullYear(), now.getMonth(), now.getDate());とする事で時分秒が00:00:00.000にセットされたDateオブジェクトを得ることができます。

なお、これを動かすHTMLのサンプルは以下の様なものです。色々適当に作ってしまっている(日が常に31日まであるとか(汗))のはご愛嬌ということで^^;
./js/checkdate.jsに上記のJavaScriptが記述されている想定です。




0 件のコメント:

コメントを投稿