- 締切済み
FORMの値を返す方法です。
こんにちは。質問させてください。 フォームを作成したのですが思うような値を得られませんでした。チェックボックスA~Eの中で、たとえばAとCにチェックをいれて送信すると受信側に返される値は 「selection=A&selection=C&submit=~」となるのですが、これを 「selection=A,C&submit=~」というようにselection=を一つにまとめてカンマで区切って表示できたらと思っています。 どうかご存知の方がいらっしゃいましたら、教えてください。よろしくお願いします。 ------以下のように作成しました---------- <form method="post" action="mailto:@.ne.jp"> <br>選択<br> <input type="checkbox" name="selection" value="A">A<br> <input type="checkbox" name="selection" value="B">B<br> <input type="checkbox" name="selection" value="C">C<br> <input type="checkbox" name="selection" value="D">D<br> <input type="checkbox" name="selection" value="E">E<br> <input type="submit" name="Submit" value="送信"> <input type="reset" name="Submit2" value="リセット"> </form>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- onti
- ベストアンサー率37% (9/24)
selection=A,Cとしたい理由はなんでしょうか? どれが選ばれたかを一括で判断したいからということで いいでしょうか? であれば、チェックボックスのname=のところをselection1、selection2といった形で記述してvalue をセットせずに、FORMを送信すれば、受け取り側では、 チェックされたところの情報が、selection1=on、selection2=onといった感じで送信されてくると思いますが。 そういった形ではまずいのでしょうか?
- yoshii-s
- ベストアンサー率38% (26/68)
ちょっとやってみたんですが、JavaScriptを使って編集する所まではできたのですが、 どうしても送信ができませんね。 自分ではここまででお手上げです。 <Script language="JavaScript"> function send_mail(){ value = new Array(5); var senddata; var i; if(document.form1.selection[0].checked==true) value[0]=document.form1.selection[0].value; if(document.form1.selection[1].checked==true) value[1]=document.form1.selection[1].value; if(document.form1.selection[2].checked==true) value[2]=document.form1.selection[2].value; if(document.form1.selection[3].checked==true) value[3]=document.form1.selection[3].value; if(document.form1.selection[4].checked==true) value[4]=document.form1.selection[4].value; senddata=value.join(","); //↓ここのコメントアウトしてある所がうまくいかないんですね・・・。 /* document.senddata.action="mailto:hogeohge@hogehoge.com"; document.senddata.method="post"; document.senddata.encoding="text/plain"; */ alert(senddata); //デバッグ用 } </script> </head> <body> <form name="form1" method="post" onSubmit="send_mail()"> <br>選択<br> <input type="checkbox" name="selection" value="A">A<br> <input type="checkbox" name="selection" value="B">B<br> <input type="checkbox" name="selection" value="C">C<br> <input type="checkbox" name="selection" value="D">D<br> <input type="checkbox" name="selection" value="E">E<br> <input type="submit" name="Submit" value="送信"> <input type="reset" name="Submit2" value="リセット"> </form>
お礼
yoshii-sさん、回答ありがとうございます。ontiさんより早く回答いただいたのに後になってしまってすいません。 Java scriptで <senddata=value.join(","); まではいきついたのですがそこからつまって しまいまして。参考にちょっとやってみます。 ありがとうございます。
お礼
ontiさん回答ありがとうございます。 selection=A,Cにしたい理由はですね、本当はCGIを使って CSVファイルから、ほしい情報を検索・表示しようとしてるのですが、どのように説明していいかわからず、この形を使って応用すれば、うまい具合に動くかな?と思ったからなんです。