- 締切済み
checkboxの文字連結の方法を教えてください
<INPUT name="ch" type="checkbox" value="1">1 <INPUT name="ch" type="checkbox" value="2">2 <INPUT name="ch" type="checkbox" value="3">3 <INPUT name="ch" type="checkbox" value="4">4 <INPUT name="ch" type="checkbox" value="5">5 選択してボタンを押すとチェックされた文字だけをカンマで連結して <a href="http://xxx.xx.ne.jp/xx.cgi?1,3,5">リンク</a> と表示したいのですがどのように書けばいいのでしょうか。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
ご指定の仕様では引数の渡し方が変な感じがしますが とりあえず実現するには以下でいけます。 <script language=javascript> function checkFunc(){ var f=document.forms["f0"]; var url=""; var count=0; var array1 = new Array(); for (var i=0;i<f.length;i++){ if(f[i].name="ch" && f[i].checked==true) array1[count++]=f[i].value } if(array1.length>0){ url="http://xxx.xx.ne.jp/xx.cgi?"+array1.join(",") }else{ url="http://xxx.xx.ne.jp/xx.cgi" } //alert(url) location.href=url } </script> <FORM name="f0"> <INPUT name="ch" type="checkbox" value="1">1 <INPUT name="ch" type="checkbox" value="2">2 <INPUT name="ch" type="checkbox" value="3">3 <INPUT name="ch" type="checkbox" value="4">4 <INPUT name="ch" type="checkbox" value="5">5 </FORM> <a href="javascript:checkFunc()">リンク</a>
- steel_gray
- ベストアンサー率66% (1052/1578)
要件がハッキリしない部分があるのでご希望通りでないかもしれませんがとりあえずサンプル。 <html> <head> <title></title> <script type="text/javascript"> function makeAnchor() { var checkBox = document.getElementsByName('ch'); var L = checkBox.length; var checkedList = new Array(); for(var i=0;i<L;i++) { if(checkBox[i].checked) checkedList.push(checkBox[i].value); } var queryStr = checkedList.join(); if(queryStr) queryStr = '?'+queryStr; document.getElementById('here').innerHTML = '<a href="http://xxx.xx.ne.jp/xx.cgi'+queryStr+'">リンク</a>'; } </script> </head> <body> <p> <input name="ch" type="checkbox" value="1" id="ch_1"><label for="ch_1">1</label> <input name="ch" type="checkbox" value="2" id="ch_2"><label for="ch_2">2</label> <input name="ch" type="checkbox" value="3" id="ch_3"><label for="ch_3">3</label> <input name="ch" type="checkbox" value="4" id="ch_4"><label for="ch_4">4</label> <input name="ch" type="checkbox" value="5" id="ch_5"><label for="ch_5">5</label> </p> <p> <input type="button" value="ボタン" onclick="makeAnchor()"> </p> <p id="here"></p> </body> </html>