Hi,
I have followed a tutorial for a email validation contact form perfectly (to my knowledge) but I keep getting an error when the form is filled in correctly or correctly apart from the email input:
TypeError: Error #1006: value is not a function.
at roberts_fla::contactForm_46/SubmitFunction()
This obviously points to the SubmitFunction() in the AS3 but I don’t know why:(
/*To Define The Main Varibles*/
var urlLoader:URLLoader = new URLLoader();
var imgLoader:Loader = new Loader();
var loadFunction:URLLoader=new URLLoader ;
/*XML Request*/
function XMLFunction(XMLPath:String):void {
urlLoader.load(new URLRequest(XMLPath));
urlLoader.addEventListener(Event.COMPLETE, onSuccess);
}
//The Name of the XML File
XMLFunction("ContactXML.xml");
/*XML - Flash Actions*/
//We'll define "info, title and image" varibles to use them in XML File.
function onSuccess(e:Event):void {
var xml:XML=new XML(e.target.data);
contactInfo.htmlText=xml.info;//We use HTML to show any type of texts
contactInfo.autoSize=TextFieldAutoSize.LEFT;//AutoSize-Left
/*contactTitle.htmlText=xml.title;
contactTitle.autoSize=TextFieldAutoSize.LEFT;*/
imgLoader.load(new URLRequest(xml.@image));
imageMc.addChild(imgLoader);
}
/*Focus In - Focus Out*/
/*An object dispatches a FocusEvent object when the user changes the focus
from one object in the display list to another.*/
//Name Text Actions
nameText.text="NAME";
nameText.addEventListener(FocusEvent.FOCUS_IN, focusInName);
nameText.addEventListener(FocusEvent.FOCUS_OUT, focusOutName);
function focusInName(evt:Event) {
if (nameText.text=="NAME") {
nameText.text="";
}
}
function focusOutName(evt:Event) {
if (nameText.text=="") {
nameText.text="NAME";
}
}
//E-Mail Text Actions
emailText.text="E-MAIL";
emailText.addEventListener(FocusEvent.FOCUS_IN, focusInEmail);
emailText.addEventListener(FocusEvent.FOCUS_OUT, focusOutEmail);
function focusInEmail(evt:Event) {
if (emailText.text=="E-MAIL") {
emailText.text="";
}
}
function focusOutEmail(evt:Event) {
if (emailText.text=="") {
emailText.text="E-MAIL";
}
}
//Subject Functions
subjectText.text="SUBJECT";
subjectText.addEventListener(FocusEvent.FOCUS_IN, focusInSubject);
subjectText.addEventListener(FocusEvent.FOCUS_OUT, focusOutSubject);
function focusInSubject(evt:Event) {
if (subjectText.text=="SUBJECT") {
subjectText.text="";
}
}
function focusOutSubject(evt:Event) {
if (subjectText.text=="") {
subjectText.text="SUBJECT";
}
}
//Message Functions
messageText.text="MESSAGE";
messageText.addEventListener(FocusEvent.FOCUS_IN, focusInMessage);
messageText.addEventListener(FocusEvent.FOCUS_OUT, focusOutMessage);
function focusInMessage(evt:Event) {
if (messageText.text=="MESSAGE") {
messageText.text="";
}
}
function focusOutMessage(evt:Event) {
if (messageText.text=="") {
messageText.text="MESSAGE";
}
}
/*/PHP - Flash Actions/*/
//Make a PHP Script Request to Post to the server
var urlRequest:URLRequest=new URLRequest("ContactPHP.php"); //The Name of the PHP Script
urlRequest.method=URLRequestMethod.POST;
//Send Button
sendBtn.addEventListener(MouseEvent.CLICK, SubmitFunction);
/*Text Field Validation*/
function SubmitFunction(e:MouseEvent):void {
if (nameText.text == "NAME" || emailText.text == "E-MAIL" ||
subjectText.text == "SUBJECT" || messageText.text == "MESSAGE" ) {
resultText.text="PLEASE FILL OUT ALL REQUIRED FIELDS";
} else if ( !emailValidate(emailText.text) ) {
resultText.text="VALID E-MAIL ADDRESS.";//If E-Mail field is empty the e-mail will not be sent.
} else {
resultText.text="SENDING...";//If everything is correct the message'll be sent.
var dataEmail:String = "name=" + nameText.text
+ "&email=" + emailText.text
+ "&subject=" + subjectText.text
+ "&message=" + messageText.text;
function emailValidate(s:String):Boolean {
var p:RegExp=/(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var r:Object=p.exec(s);
if (r==null) {
return false;
}
return true;
}
/*URL Actions*/
var URLvariables:URLVariables=new URLVariables(dataEmail);
URLvariables.dataFormat=URLLoaderDataFormat.TEXT;
urlRequest.data=URLvariables;
loadFunction.load(urlRequest);
loadFunction.addEventListener(Event.COMPLETE, responseFunction );
}
}
/*Status of the E-Mail*/
function responseFunction(e:Event):void {
var loader:URLLoader=URLLoader(e.target);
var emailStatus=new URLVariables(loader.data).success;
//If E-Mail is sent successfully, the visitor'll see this message.
if (emailStatus=="yes") {
resultText.text="THANK YOU! YOUR MESSAGE WAS SENT SUCCESSFULLY.";
//If E-Mail can not be sent, the visitor'll see this message.
} else {
resultText.text="AN ERROR OCCURED!";
}
}
Can someone help please??