• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:対象データの取得方法)

対象データの取得方法についての質問

このQ&Aのポイント
  • formで送信する入力データのチェックをしたいです。データは配列になります。
  • 現在のコードでは、配列の要素が正しくチェックされず、問題が発生しています。
  • 配列以外のデータでは問題がないため、正しい記述方法を教えていただきたいです。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

javascriptとPHPを混同している部分が見受けられます。 あとjavascriptの場合はオブジェクト渡しをした方が わかりやすくなりますね 以下処理です。 <script> function inputck(f){ for(i=0;i<3;i++){ if(f.elements["inputno["+i+"]"].value.match(/[^0-9]/g)){ alert("整数値を入力してください"); return false ; } } return true; } </script> <form> <input type="text" name="inputno[0]" value=""> <input type="text" name="inputno[1]" value=""> <input type="text" name="inputno[2]" value=""> <input type="submit" value="送信" onclick="return inputck(this.form);"> </form> ただし、行数をいちいち把握するのもなんなんで、 formのデータをぐるっと回したほうが汎用的かもしれません。 <script> function inputck(f){ for(i=0;i<f.length;i++){ if(f[i].name.match(/^inputno\[[0-9]+\]$/) && f[i].value.match(/[^0-9]/g)){ alert("整数値を入力してください"); return false ; } } return true; } </script> <form> <input type="text" name="inputno[0]" value=""> <input type="text" name="inputno[1]" value=""> <input type="text" name="inputno[2]" value=""> <input type="submit" value="送信" onclick="return inputck(this.form);"> </form>

qkyorochan
質問者

お礼

できました! ありがとうございますm(__)m

関連するQ&A