- ベストアンサー
対象データの取得方法についての質問
- formで送信する入力データのチェックをしたいです。データは配列になります。
- 現在のコードでは、配列の要素が正しくチェックされず、問題が発生しています。
- 配列以外のデータでは問題がないため、正しい記述方法を教えていただきたいです。
- みんなの回答 (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>
お礼
できました! ありがとうございますm(__)m