FLASHのお勉強 ーアクションスクリプトの実践的事始めー |
|
(32) FLASHによるCGI不要フォームメール2006/9/22 |
|
| Webのサイトで閲覧者から、氏名、住所などのデータをオンラインで知らせてもらう手段として、CGI を使ったフォームメールが使われる。 しかし、自前のCGI
を使えるサーバーを持っていないサイト運営者は不便な思いをする時がある。 ここで示すのは、cgi、sendmail を使わずに、閲覧者のメーラからデータを送信してもらうタイプのFLASHによるフォームメールである。 簡易型ではあるが、ちょっとしたデータ取得には使えるのではなかろうか。 以下に示す例は、氏名、住所、Email アドレスを取得するものであるが、データ数はこれに限定されるものではなく、以下に示すやり方でいくつでも増やせる。 なお、以下に示す例では、メール発信できない(送ってもらうメールアドレスがダミーになっている)ので、送信先のアドレスを自分のアドレスに設定する必要がある。 この例では、メーラーが立ち上がるところまでは確認できるので、送信ボタンをクリックするところまで、確認いただきたい。 |
|
| ステージの準備 | |
| 三つのシーンで構成している。 それぞれのシーンの構成は上の例をクリックで切り替えて見てほしい。 配置しているダイナミックテキストボックスは、 シーン1:名前インプットボックス 変数をnameINに設定(プロパティーインスペクターの右下にあるボックスで) 同様に、住所1:addressIn1、住所2:addressIn2、e-mail:emailIn シーン2:名前:インスタンス名をnameOut、同様にaddressOut1、addressOut2、emailOutをインスタンス名に 配置するボタン類は、 シーン1:コンポーネントウインドウからbuttonをdrag&dropで画面下部に配置し、パラメーターのlabelを「確認」に インスタンス名:confirm_btn シーン2:同じく、編集ボタン、及び、送信ボタンを配置 インスタンス名:修正ボタン edit_btn 送信ボタン submit_btn シーン3は、静置テキストボックスでメッセージを記す |
|
| スクリプト(Script) 全角スペースの入った行があります。コピー&ペイストではエラーになります | |
| シーン1_rootに (インスタンスを何も選択していない状態で記述) stop(); _root.confirm_btn.onRelease =function() { nextScene(); } シーン2_rootに stop(); if (_root.nameIn == null) { _root.nameOut.text = ""; } else { _root.nameOut.text = _root.nameIn; } if (_root.addressIn1 == null) { _root.addressOut1.text = ""; } else { _root.addressOut1.text = _root.addressIn1; } if (_root.addressIn2 == null) { _root.addressOut2.text = ""; } else { _root.addressOut2.text = _root.addressIn2; } if (_root.emailIn == null) { _root.emailOut.text = ""; } else { _root.emailOut.text = _root.emailIn; } $cc = _root.emailOut.text; $subject = "フォームメール送信を受付けました"; $body = "名前:"+_root.nameOut.text+"%0A住所:"+_root.addressOut1.text+"%0A"+"%20%20%20" +_root.addressOut2.text+"%0AE-Mail:"+_root.emailOut.text; _root.submit_btn.onRelease = function() { getURL("mailto:aaa@bbb.com?cc="+$cc+ "&subject="+$subject+"&body="+$body); nextScene(); }; _root.edit_btn.onRelease = function() { prevScene(); }; |
シーン2に進んでしまわないように止める 確認ボタンがクリックされたら、 シーン2に移動する もしnameInが空白だったら nameOutを空白にする そうでなかったら、 nameOutにnameInを入れる (シーン1でinputされたデータの表示) 以下同様 メーラーcc欄にinputされたアドレスを入れる場合に 設定 メールの件名 メールの本文 %0Aは改行記号 %20%20%20はスペース(字下げをしている) 送信ボタンがクリックされたら メーラーを起動し、送信先アドレス、 件名、本文を記入する シーン3に移動する 修正ボタンがクリックされたら、 シーン2に移動する |
|
|
|
| HOME お勉強総リスト | |