• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:可変なデータをチェックしたいのですが・・・)

可変データのチェック方法とループ処理について

このQ&Aのポイント
  • 可変なデータをチェックする方法とは?データをループして処理する方法とは?詳しく解説します。
  • 可変データのチェック方法とループ処理について知りたい方必見!正しいデータの入力チェックと効率的なデータ処理の方法について解説します。
  • 可変データの確認方法とデータのループ処理について詳しく教えてください。データの入力チェックと効率的なデータ処理のポイントについても解説します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

こんな感じでしょうか。 /** * 送信前チェック * @return 結果(true=正常/false=異常) */ function s_chk() {     //同じNameを持つ要素の配列を取得する     var 要素配列 = document.getElementsByName("sat[]");     //要素配列を個別に処理する     for ( var i = 0 ; i < 要素配列.length ; i++ ) {         //要素(テキストボックス)を取得         var 要素 = 要素配列[i];         //検査の結果、エラーが検出された場合         if ( ! 検査(要素.value) ) {             alert("正しい月日を入力して下さい");             要素.focus(); //フォーカスを設定             要素.select();//文字列を反転表示             return false; //エラーを返す         }     }     //最後までチェックが正常の場合     return true; } /** * 日付チェック * @param  文字列 日付(yyyy/m/d形式) *          但し、空文字列は正常とする * @return 結果(true=正常/false=異常) */ function 検査(文字列) {     //空文字列なら正常終了する     if ( 文字列 == "" ) return true;     //"/"(スラッシュ)で文字列を分割する     var 年月日 = 文字列.split(/\//g);     //分割した要素数が3個でなければエラーとする     if ( 年月日.length != 3 ) return false;     //各要素(文字列)を数値化する     for ( var i = 0 ; i < 3 ; i++ ) {         //文字列に非数字が含まれていた場合はエラーとする         if ( 年月日[i].search(/\D/) >= 0 ) return false;         //数値化する         年月日[i] = parseInt(年月日[i]);     }     //日付に変換する     var 日付 = new Date(年月日[0],--年月日[1],年月日[2]);     //変換前後の月が一致すれば正常、一致しなければ異常     return ( 日付.getMonth() == 年月日[1] ); } </SCRIPT> </HTML> ※インデントに漢字空白を使っているのでコピペ時は注意!

nkm-a3u-ki
質問者

お礼

nda23様 ご教授ありがとうございます。 早速週明けに試みてみたいと思います★☆ 誠に恐縮なのですが、またわからない事があった時は ご教授頂ければ幸いです。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

>どしてもチェックが行えずに困っています どういうふうにダメなのか書きましょうよ。あなたの側について 見ているわけじゃないし、残念ながらテレパシー能力もありません。 (1)日付データが複数個ある。個数は可変 (2)日付は任意入力とし、入力形式はyyyy/m/d 障害状況:正しい日付を入力してもエラーになる。 これくらいはまとめてもらわないと、なにがどうなっているのか サッパリです。

nkm-a3u-ki
質問者

補足

nda23様 説明不足ですいません。 やりたいこととしては、日付データが複数個あり、それが可変なので、 hoge = document.form1.elements["sat[]"][0].value; hoge1 = document.form1.elements["sat[]"][1].value; の様に指定してやることが出来ないんです。 これを、dbから取り出してきたデータがまず何件あり、それを変更をした際にはJavascriptで各日付が正しいかどうかチェックしたいのです。 わかりにくいかもしれませんが、ご教授お願い致します。

関連するQ&A