Flash(AS3)Iamは、「送信ボタン」と「リセットボタン」を1つ、入力テキストフィールドを4つ、 「名前、電子メール、件名、メッセージ」という連絡フォームを作成しています。インスタンス名が "contact_name、contact_email、contact_subject、contact_message"フラッシュ連絡先フォームの問題
IamはsetFocusとkillFocusについて非常に混乱しています。 AS3では
私はこのファイルをパブリッシュするとき、私は、入力テキストフィールドがテキスト 「名前、電子メール、サブ、メッセージ」
を示しbydefault今私の要件があり、今
contact_name.text = "Name";
contact_email.text= "Email";
contact_subject.text = "Sub";
contact_message.text = "Message";
を与えています「名前」フィールドをクリックするとテキスト「名前」が消えて自分の名前を入力できるようになります。その後、電子メールフィールドをクリックします。 テキスト「電子メール」が消えてしまいます名前フィールドに入力された私の名前。
「Subject」テキストフィールドをクリックすると、「Sub」というテキストが消えてしまいますが、私が入力した名前と電子メールデータは失われません。
メッセージテキストフィールドをクリックすると「メッセージ」というテキストが消えますが、残りのテキストフィールドに入力されたデータは失われたくありません。
以下のアクションスクリプトをご覧ください。 解決策を見つけるのを手伝ってください。
アクションスクリプト:
contact_name.text ="Name";
contact_email.text ="Email";
contact_subject.text = "Sub";
contact_message.text ="Message";
message_status.text = "";
send_button.addEventListener(MouseEvent.CLICK, submit);
reset_button.addEventListener(MouseEvent.CLICK, reset);
var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest("send_email.php");
URL_request.method = URLRequestMethod.POST;
function submit(e:MouseEvent):void
{
if(contact_name.text == "Name" || contact_email.text == "Email" ||
contact_subject.text == "Sub" || contact_message.text == "Message")
{
message_status.text = "Please fill up all text fields.";
}
else if(!validate_email(contact_email.text))
{
message_status.text = "Please enter the valid email address.";
}
else
{
message_status.text = "sending...";
var email_data:String = "name=" + contact_name.text
+ "&email=" + contact_email.text
+ "&subject=" + contact_subject.text
+ "&message=" + contact_message.text;
var URL_vars:URLVariables = new URLVariables(email_data);
URL_vars.dataFormat = URLLoaderDataFormat.TEXT;
URL_request.data = URL_vars;
var_load.load(URL_request);
var_load.addEventListener(Event.COMPLETE, receive_response);
}
}
function reset(e:MouseEvent):void
{
contact_name.text ="Name";
contact_email.text ="Email";
contact_subject.text = "Sub";
contact_message.text ="Message";
message_status.text = "";
}
function validate_email(s:String):Boolean
{
var p:RegExp = /(\w|[_.\-])[email protected]((\w|-)+\.)+\w{2,4}+/;
var r:Object = p.exec(s);
if(r == null)
{
return false;
}
return true;
}
function receive_response(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var email_status = new URLVariables(loader.data).success;
if(email_status == "yes")
{
message_status.text = "Success! Your message was sent.";
timer = new Timer(500);
timer.addEventListener(TimerEvent.TIMER, on_timer);
timer.start();
}
else
{
message_status.text = "Failed! Your message cannot sent.";
}
}
function on_timer(te:TimerEvent):void
{
if(timer.currentCount >= 10)
{
contact_name.text = contact_email.text = contact_subject.text =
contact_message.text = message_status.text = "";
timer.removeEventListener(TimerEvent.TIMER, on_timer);
}
}
おかげ --vamsi