- ベストアンサー
<input type='checkbox'>要素でcheckboxの数をチェックしたい
- 基本的なCSS及びPHPの知識が乏しい為、自己で解決出来ずに困っています。
- 表示した内容から、checkboxで10個のデータ選択させたいと考えています。
- 選択した数が10個でなければ、javascriptでクライアント端末側にアラートをポップアップ表示させたい考えています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
このような感じで如何でしょう ------------------------------- <html><head> <SCRIPT language="JavaScript"> <!-- function CBCheck() { var count = 0; for (var i=0;i<document.myForm.elements.length;i++){ if ((document.myForm.elements[i].name=="col1[]") && (document.myForm.elements[i].checked)) { count++; } } if (count!=10){ alert("選択数は10個にして下さい。"+count+"個が選択されています。"); return; } else { document.myForm.submit(); } } // --> </SCRIPT> </head><body> <form name='myForm' action='test2.php' method='post'> <?php $logfile = './logdata.txt'; $fp = fopen($logfile, "r"); while($str = fgetcsv($fp)){ $data1[] = $str[0]; $data2[] = $str[1]; } fclose($fp); for ($i = 0; $i < sizeof($data1); $i++){ print "<input type='checkbox' name='col1[]' value='$data1[$i]'>"; print "<input type='text' name='col2[]' value='$data2[$i]' >"; print "<br>"; } ?> <input type='button' value='実行' onClick="CBCheck()"> </form> </body> </html>
その他の回答 (1)
- SAYKA
- ベストアンサー率34% (944/2776)
勘違いしていると思われる点 ・phpはサーバサイド サーバ側で完全処理を行ってできあがったHTMLをユーザへ送り出す ・javascriptはクライアントサイド ユーザ処理をjavascriptで返す場合は判別もjavascript またはajax的にjavascriptで判別phpへ投げて受け取る必要有り 要するにcheckboxの選択云々の確認は ・javascript判別 javascriptでformを走査しalert ・php判別 一旦post(またはget)してphpとして「エラーページ」 が 妥当じゃないのかな。
補足
返答有難う御座います。 やはりこのPHPと同じ1枚のページに作成するのは不可能になりますでしょうか。ダラダラと長いスクリプトになってしまうかもしれない事は 覚悟しているのですが。 認識が乏しくて申し訳ありません。
お礼
回答有難う御座います。 イメージしていた画面遷移をさせる事が出来ました。 とても勉強になりました。 本当に有難う御座いました。