- 締切済み
JAVASCRIPTで送信フォームを作っています
JAVASCRIPTで送信フォームを作っています。 ラジオボタンだけが値をだしてくれません。 なにか方法はあるのでしょうか。 アンケートにつかいます。 各項目を答えるごとに裏でテキスト化されて最終的に一括送信できるようにします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Hardking
- ベストアンサー率45% (73/160)
フォームコントロールの中で,ラジオボタンは 配列コントロールとなるので JavaSciprtで項目値を参照する場合は 項目名[インデックス]となる <script language="javascript"> function selchk(){ var i; var val; //選択項目の値を取得する。 for (i = 0; i < document.myform.rd_color.length; i++) { if (document.myform.rd_color[i].checked == true) { val = document.myform.rd_color[i].value; } } } </script> <FORM name="myform"> <input type="radio" name="rd_color" value="赤">赤 <input type="radio" name="rd_color" value="青">青 <input type="radio" name="rd_color" value="緑">緑 </FORM>
- yambejp
- ベストアンサー率51% (3827/7415)
radioは一つの塊でとらえなくてはいけないので 以下のようにするといいでしょう <script language="javascript"> function check(f){ var str="" for(var i=0;i<f.length;i++){ if(f[i].type=="text" && f.t1.value!="") str +=f[i].name+"の値は"+f[i].value+"です\n" if(f[i].type=="radio" && f[i].checked==true) str+=f[i].name+"の値は"+f[i].value+"です\n" if(f[i].type=="select-one" && f[i].value!="") str+=f[i].name+"の値は"+f[i].value+"です\n" } if (str!="") alert(str) } </script> <form> <input type="text" name="t1" value=""><br> <input type="radio" name="r1" value="yes">はい <input type="radio" name="r1" value="no">いいえ<br> <select name="s1"> <option value="">選択してね <option value="aaa">あああ <option value="iii">いいい <option value="uuu">ううう </select><br> <input type="button" value="確認" onClick="check(this.form)"> </form>