• 締切済み

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>

みんなの回答

  • onti
  • ベストアンサー率37% (9/24)
回答No.2

selection=A,Cとしたい理由はなんでしょうか? どれが選ばれたかを一括で判断したいからということで いいでしょうか? であれば、チェックボックスのname=のところをselection1、selection2といった形で記述してvalue をセットせずに、FORMを送信すれば、受け取り側では、 チェックされたところの情報が、selection1=on、selection2=onといった感じで送信されてくると思いますが。 そういった形ではまずいのでしょうか?

7chiko
質問者

お礼

ontiさん回答ありがとうございます。 selection=A,Cにしたい理由はですね、本当はCGIを使って CSVファイルから、ほしい情報を検索・表示しようとしてるのですが、どのように説明していいかわからず、この形を使って応用すれば、うまい具合に動くかな?と思ったからなんです。

  • yoshii-s
  • ベストアンサー率38% (26/68)
回答No.1

ちょっとやってみたんですが、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>

7chiko
質問者

お礼

yoshii-sさん、回答ありがとうございます。ontiさんより早く回答いただいたのに後になってしまってすいません。 Java scriptで <senddata=value.join(","); まではいきついたのですがそこからつまって しまいまして。参考にちょっとやってみます。 ありがとうございます。

関連するQ&A