• ベストアンサー

【可能ですか?】1つのフォームから、チェックボックスで送信先を分けたい

初めて質問します。CGIは先月から始めたばかりのデザイナーです。 (環境はMacOSX、Apache) A社のサイトのお問い合せフォームで、 送り先をB部、C部に選択できるようにしようとしています。 フォームには住所や簡単なアンケートの項目に加えて、 チェックボックスで送信先をB部かC部か選択できるようにし、 同じフォームから、B部のチェックボックスにチェックをいれたらB部のアドレスへ、 C部に入れたらC部のアドレスに送信されるようにしたいです。 また、両方入れたら両方の部署に送れるようにもできればと思います。 一つのフォーム、一つの送信ボタンで上記のようなことは可能でしょうか? 単純に考えると、フォームを2種類分けて作って リンク元で「B部へのお問い合せはこちら」などと表示すればいいのですが、 クライアントの意向で上記のような希望があがってきました。 技術的にできるかどうか、もしできるならどのような考え方をすればよいのか、 教えてください。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#191236
noname#191236
回答No.3

こんにちは。 考え方 ・「B部に送る」というチェックボックスにチェックが入っていたら「B部に送る」。 ・「C部に送る」というチェックボックスにチェックが入っていたら「C部に送る」。 ・"両方" にチェックが入っていたら "両方" に送る。 という処理を "CGI側" ですればいいのです。 要は、フォームから送られてきた各チェックボックスの値(ON/OFF)を条件判定 にして、各部への送信処理を実行するかどうか決めればよいという事です。 注意 HTML側で2つフォームを作ると色々と面倒だったり、JavaScriptでは動作がユーザ の環境に依存(スクリプトが無効になっていたり)するようになってしまいます。

nao_cava_nao
質問者

お礼

丁寧な解説ありがとうございます。 なんとか処理できるように作成し、実験は成功しました。 がんばって本データ作ります!

その他の回答 (2)

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.2

> 技術的にできるかどうか 無論できます。 > もしできるならどのような考え方をすればよいのか (Sendmailに-tオプションで送る場合) チェックがされたらスクリプト内部でチェックされたメールアドレスを送信先としてTOまたはBCCまたはCCに加えればいいでしょう。 複数選択された場合も、カンマ区切りで追記すれば送れます。 (TOやCCに入れたものは他の送信先にも送ったメールアドレスが分かってしまいますが同じ会社内ですから問題ないでしょうし) もちろん、カンマ区切りの追記ではなく、チェックされた数だけ送信を繰り返すというのもありです。

  • neo_ap1
  • ベストアンサー率26% (105/395)
回答No.1

送信ボタンでメールを送る、と言う事でしょうか? 案1 JavaScriptまたはVB ScriptにてSubmit時に チェックボックスのチェックの状態を確認して チェックがある部署に送信する。 案2 呼び出し先のメール送信CGIで チェックの有無を確認し、チェックがある部署 に送信する。 ではどうでしょう? 方法はいろいろあると思います。 CGIははじめたばかりと言う事ですので、 手っ取り早く勧めるならJavaScriptでしょうか?