- 締切済み
javascript 要素取得
htmlでチェックボックスを作り、その値をjavascriptで取得したいと思い、 下記のようなプログラムを書きました。 セレクトボックスから複数選択できるようにしたいのですが、 表示されるのは複数選んだ際に一番初めに選択したものだけです。 例) 「あああ」と「いいい」を選ぶと「あああ」のみ表示される。 しかし、これを「あああ.いいい」としたいのです。 できれば、 「あああ いいい」 と改行できるといいです。 formの中にたくさんの項目があるため、 forのところがうまくいっていないのでしょうか? どなたかよろしくお願いします。 javascript側 function checkbox(){ var str=""; for(i=0;i<document.form1.elements.length;i++){ if(document.form1.elements[i].checked){ if(str != "") str = str + "."; str = str + document.form1.document[i].value; } } if(str == ""){ alert("入力してください"); return false; }else{ document.form1.submit(); } } HTML側 <form action="<%=遷移先ページ%>" method="post" name="form1"> <select 複数> <input 複数> <input type="checkbox" name="document" value="・あああ"/>あああ <input type="checkbox" name="document" value="・いいい"/>いいい <input type="checkbox" name="document" value="・ううう"/>ううう <input type="submit" value="Submit" onclick="return checkbox();">
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
- babu_baboo
- ベストアンサー率51% (268/525)
- babu_baboo
- ベストアンサー率51% (268/525)
お礼
補足は編集できないため、こちらに書きます。 javascript内最後のelseで document.form1.document.value = str; return true; としてみましたが、遷移先のページでは表示は変化しませんでした。 javascriptで値を格納しないといけないと思うのですが、 どのようにするか教えていただけますか?
補足
ご回答ありがとうございます。 >alert(str); を書いて「・あああ」と「・いいい」を選択したところ、 「・あああ.・いいい」 が表示されました。 表示先に問題があるようです。 表示先では String strDocument = request.getParameter("document"); で受け取り、 <%=strDocument%> で表示しています。(ここでは「・あああ」のみ表示されます。) 「javascriptでチェックボックスの選択状況をチェックする方法について」 http://oshiete.goo.ne.jp/qa/6105725.html にあるように配列を使うといいのでしょうか?