- ベストアンサー
<form method=post action="***.cgi">~</form>の場所は?
CGIでデータを受け渡しするアンケートを作っています。html中に書く<form method=post action="***.cgi">~</form>“~”の場所についてですが質問項目を全て挟まなくてはいけませんか?実は、チェックボックスの「最大2つまで回答可」という部分をJavascriptでチェック個数を超えてチェックした時点でアラートが出るようにしてます。その記述中にすでに<form>~</form>タグを制限をかけたい質問に置いているので、質問全体を<form method=post action="***.cgi">~</form>でくくると入れ子になってしまいます。大丈夫ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
<form method=post action="***.cgi" name="form1">~</form> にする。つまり「最大2つまで回答可」という部分だけをonclickでJavascriptを呼び出したらいいと思います。
お礼
こんなjavascriptですがどうしたらformを入れ子にせずに済みますか?機能はチェックをいれた瞬間にアラートが返ってきてほしいのですが。(一部のみ抜粋) <script type="text/javascript"> <!-- function limitation(f,limit){ var c=0; for(var i=0;i<f.length;i++){ if(f.elements[i].checked) c++;//現在のチェックされている数を数える } if(c>limit){ alert("最大2つまでしか選べません"); return false; //制限数を超えていたら無かったことにする } else return true; } //--> </script> <title>チェックボックスのチェック数の制限</title> </head> <body> <form name="form1"> 2つまでチェックできます。<br> A<INPUT type="checkbox" name="check1" value="A" onclick="return limitation(this.form,2)"><br> B<INPUT type="checkbox" name="check2" value="B" onclick="return limitation(this.form,2)"><br> C<INPUT type="checkbox" name="check3" value="C" onclick="return limitation(this.form,2)"><br> D<INPUT type="checkbox" name="check4" value="D" onclick="return limitation(this.form,2)"><br> </form>