I basically have a flash portfolio web site. The only thing that doesn't work is the submit button on my contact page. I can receive email at
contact@megbisharat.com and am able to send from the same. This is a stupid scripting error in Flash that I can't figure out. (probably this line: var URL_request:URLRequest = new URLRequest("
http://contact@megbisharat.com");
This is my AS3 code for the contact page:
import flash.net.URLRequest;
stop ();
contact_name.text = contact_email.text = contact_subject.text =
contact_message.text = 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("
http://contact@megbisharat.com");
URL_request.method = URLRequestMethod.POST;
function submit (e:MouseEvent):void
{
if ( contact_name.text == "" || contact_email.text == "" ||
contact_subject.text == "" || contact_message.text == "" )
{
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 = contact_email.text = contact_subject.text =
contact_message.text = message_status.text = "";
}
function validate_email (s:String):Boolean
{
var p:RegExp = /(\w|[_.\-])+@((\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 can not be 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);
}
}
I am definitely not an expert and am in learning mode. Thanks, in advance.