• 締切済み

チェックボックスをクリックしたら、テキストに入力出来る様にしたいです

今メールフォームを作っています。 チェックボックスにチェックしたら、テキストフィールドに記入しないと、 エラーがでる様にJavascriptでチェックをかけたいのですが教えて頂けませんでしょうか。 下記のようなフォームにしたいです。 ■フォーム これをあなたは何処で知りましたか? チェックボックス1 新聞 チェックボックス2 テレビ チェックボックス3 その他 テキストフィールド その他を選んだ方は記入して下さい。 このチェックボックスは必須にして、 チェックボックス1~3までのどれかをチェックしないとアラートを表示したいです。 また、チェックボックス3を選択したのにテキストフィールドに入力していない場合も アラートを表示したいです。 上記のalertは送信ボタン<input name="submit" type="submit" value="情報を送信する"> を押した際に出したいです。 この様なチェックボックスのグループを同じフォームに2つ作りたいです。

みんなの回答

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

・ 以下のコードを参考にしてみてください。 ------------------------------------------------------------ <script type="text/javascript"> <!-- function checkRadio() { var flag; var f=document.getElementById('f1'); for (var j=1 ; j<=2 ; j++) { flag = false; var chbName = "chb" + j; for (var i=0 ; i<f[chbName].length ; i++) { if (f[chbName][i].checked) flag = true; } if (!flag) { alert(chbName + ": エラー"); return false; } if (f[chbName][f[chbName].length-1].checked && f['other'+j].value.replace(/\s/g,"")=="") { alert(chbName + ": その他エラー"); return false; } } return true; } //--> </script> <form id="f1" action=""> <table border="border" cellpadding="5" align="center"> <tr> <td><div style="background-color: #eee">これをあなたは何処で知りましたか? </div> <input type="checkbox" name="chb1" value="np">新聞<br> <input type="checkbox" name="chb1" value="tel">テレビ<br> <input type="checkbox" name="chb1" value="other">その他<br /> その他を選んだ方は記入して下さい。<br /> <input type="text" name="other1"></td> </tr> <tr> <td><div style="background-color: #eee">これをあなたは何処で知りましたか2? </div> <input type="checkbox" name="chb2" value="ff">Firefox2<br> <input type="checkbox" name="chb2" value="ie">IE2<br> <input type="checkbox" name="chb2" value="other">その他2<br /> その他2を選んだ方は記入して下さい。<br /> <input type="text" name="other2"></td> </tr> <tr> <td><input name="submit" type="submit" value="情報を送信する" onclick="return checkRadio();"></td> </tr> </table> </form>

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

この場合、新聞・テレビ・その他は同じグループなので、思い切って 同じ名前で管理してしまうという手があります。 そうすればこんな感じでチェックできるでしょう <script> function check(f){ var know=f.elements["know[]"]; var flg=false; for(var i=0;i<know.length;i++){ if(know[i].checked){ flg=true; break; } } alert(flg) } </script> <form> <input type="checkbox" name="know[]" value="newspaper">新聞 <input type="checkbox" name="know[]" value="tv">テレビ <input type="checkbox" name="know[]" value="other">その他 <input type="button" value="check" onclick="check(this.form)"> </form>

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

タグの disabled 属性を操作したら良いんじゃない? http://www.tohoho-web.com/html/input.htm http://www.tohoho-web.com/js/form.htm

関連するQ&A