【My Script】 sample:

javascript 【フォーム】 select/getdate

セレクトフィールドで選択した年月日が存在しないときは警告する

◆スポンサー【dblpar.com】(ダブルパー本舗)をみる  ◆このページのホーム【My Script】を全部をみる

Sample サンプルとTips

【Sample】
※年月日を選択したとき、その年月日が存在しないときは警告する。
※現実には、存在しない日をセレクトフィールドに表示しないこと。年月日をテキストフィールドに入力する場合等に有効なチェック方法。

■javascripサンプル

※各月とも31日まで表示されています。存在しない日を選択してみて下さい。

■HTMLサンプル
<select id="cmbYear" onchange="fnDateCheck()">
<option value="0">--年選択</option>
<option value="2008">>2008</option>
<option value="2009">2009</option>
<option value="2010">2009</option>
</select>
<select id="cmbMonth" onchange="fnDateCheck()">
<option value="0">--月選択</option>
...
</select>
<select id="cmbDay" onchange="fnDateCheck()">
...
■javascriptサンプル Tips

function fnDateCheck(){
  with(document){
      var year=getElementById("cmbYear").value; //選択年
      var mon=getElementById("cmbMonth").value; //選択月
      var mon2=eval(mon)-1;
      var day=getElementById("cmbDay").value; //選択日
      var strDate=year+"/"+mon+"/" + day;

      var nowDate=new Date(year,mon2,day); //選択した年月日でnew Dateを定義する
      var nowMon=nowDate.getMonth(); //new Dateから月を取得
      var nowMon2=eval(nowMon)+1;
      var nowDay=nowDate.getDate(); //new Dateから日を取得

      if((year!="0")&&(mon!="0")&&(day!="0")){
          if ((mon!=nowMon2)||(day!=nowDay)){
              alert("["+strDate+"]は存在しない日付です。再度選択入力し直して下さい。");
          }else{
              alert("["+strDate+"]は存在します。");
          }
      }
  }
}

※選択した月・年(文字列)からNew Date を定義して getdateにより月・日を取得し、それが選択した月・日と一致するかどうかチェックしている。
【更新記録】
※(2008.03.20) v1.01 作成しました。
【AccessCounter】 
アクセスカウンター
Copyright(C) 2007-  ダブルパー本舗 All Rights Reserved.