【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により月・日を取得し、それが選択した月・日と一致するかどうかチェックしている。 |