フォーム上のメニューで選択された項目によって、メールの送信先を変更することができます。ここでは、訪問者に問い合わせをしたい内容をメニューで選ばせ、それによってメールの送信先を変える方法について考えてみましょう。
フォームに訪問者が項目を選択するためのメニューを定義します。
<SELECT NAME="pharmacy">
<OPTION VALUE="asgen">アスゲン製薬</OPTION>
<OPTION VALUE="eiken">栄研化学ゲノムサイト</OPTION>
<OPTION VALUE="eizai">エルメッド エーザイ</OPTION>
<OPTION VALUE="otsuka">大塚製薬</OPTION>
<OPTION VALUE="kyowa">協和発酵</OPTION>【送信】ボタンがクリックされた時、送信先を変える関数を呼び出すようにします。
<FORM NAME="Form1" METHOD="post"
onSubmit="SetAction()" ENCTYPE="text/plain">メニューで選ばれている項目によって、送信先を変える関数を設定します。
function SetAction(){
switch(Form1.pharmacy.value){
case "asgen":
document.Form1.action="mailto:gakujutsu@asgen.co.jp"
break;
case "eiken":
document.Form1.action="mailto:lamp@eiken.co.jp"
break;
case "eizai":
document.Form1.action="mailto:web-admin@emec.co.jp"
break;
case "otsuka":
document.Form1.action="mailto:consumer_relation@tky.otsuka.co.jp"
break;
case "kyowa":
document.Form1.action="mailto:info@kyowa.co.jp"
break;
}
location.href="thankyou.htm"
}メニューで選択された項目により、異なる処理を行わせるには、「switch〜case」を使用します。同じ処理を「if」や「elseif」の組み合わせで作ることもできますが、項目数が多い場合は「switch〜case」を使用するほうがわかり易いソースコードを記述することができます。
メールの送信先は「action」プロパティを使用して設定します。例では「Form1.pharmacy.value」に設定されている値により、「action」プロパティに異なるメールの送信先を設定しています。