- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Cerco aiuto per un Form in flash
-
il sito l'ho fatto io ho un livello base di as3 come conoscienza..ma non ho mai integrato un form mail in un sito fatto interamente in flash ti prego dammi una mano perchè sono disperato!!tutti i form che ho trovato flash+php sono da integrare per siti in html e non so come incorporarli nel mio sito in flash ti prego aiuto!!!inoltre nel form che mi hai inviato dovrei anche aggiungere dei campi..
-
Per capire il modo migliore per inserire i form bisognerebbe vedere la struttura del tuo sito, hai Fatto una pagina contatti? Se si come l'hai fatta, è in un frame, la carichi dalla libreria, o è un swf esterno?
-
si ho fatto una pagina contatti e la pagina è in un frame..
stammi dietro ti prego non abbandonarmi!
-
Allora prova cosi: copia i due movieclip presenti nella libreria del form nella libreria del tuo sito, nel frame della pagina contatti incolla questo codice e vediamo se compare il Form.
import flash.display.MovieClip; import flash.display.Sprite; import flash.text.*; import flash.events.*; import flash.display.Graphics; import flash.display.DisplayObject; import flash.net.*; var txtBox:textBox; var cmtBox:commentBox; var status_txt:TextField; var xPos:int=300; var yPos:int=50; var labels:Array = new Array("Name","Company","Email Address","Phone Number","Comments"); function ContactForm () { headerText(); createLabels(); createFields(); addCommentBox(); createButton(); requiredFields(); createStatusField(); } function createLabels():void { yPos=50; for(var i:int=0;i<5;i++) { var label_txt=createTextField(); label_txt.name ="lbl"+i; label_txt.text = labels*; if(i==4) label_txt.setTextFormat(getFormat("0x000000")); else label_txt.setTextFormat(getFormat("0xFF0000")); label_txt.x=xPos-150; label_txt.y=yPos; addChild(label_txt); yPos+=35; } } function createTextField():TextField { var textFld:TextField = new TextField(); textFld.selectable=false; textFld.autoSize=TextFieldAutoSize.LEFT; return textFld; } function createStatusField():void { status_txt=createTextField(); status_txt.text = ""; status_txt.x=xPos-120; status_txt.y=yPos+125; addChild(status_txt); } function getMailStatus(str:String):void { status_txt.text = str; status_txt.setTextFormat(getFormat()); clearTextFields(); } function requiredFields():void { var label_txt=createTextField(); label_txt.text = "Required Fields"; label_txt.setTextFormat(getFormat("0xFF0000")); label_txt.x=xPos; label_txt.y=yPos+100; addChild(label_txt); } function createFields():void { yPos=50; for(var i:int=0;i<4;i++) { var txtBox:textBox; txtBox = new textBox(); txtBox.name = "txt" +i; txtBox.txt.text= ""; txtBox.txt.addEventListener(Event.CHANGE, textInput); txtBox.x=xPos; txtBox.y=yPos; addChild(txtBox); yPos+=35; } } function textInput(evt:Event):void { //trace(evt.target.parent.name); var lblName:String = evt.target.parent.name; lblName= lblName.slice(3,lblName.length); //trace("lblname " + lblName); var target:Object= this.getChildByName("lbl"+lblName); // trace(target.text); if(evt.target.text!="") target.setTextFormat(getFormat("0x000000")); else target.setTextFormat(getFormat("0xFF0000")); } function addCommentBox():void { cmtBox = new commentBox(); cmtBox.name = "cmtbox"; cmtBox.txt.text= ""; cmtBox.x=xPos; cmtBox.y=yPos; addChild(cmtBox); } function headerText():void { var hText_txt:TextField = new TextField(); hText_txt.multiline=true; hText_txt.wordWrap = true; hText_txt.selectable=false; hText_txt.autoSize=TextFieldAutoSize.LEFT; hText_txt.defaultTextFormat=getFormat(); //hText_txt.htmlText = "Please fill out the form below with your information and any questions or comments about me." hText_txt.width=stage.stageWidth; addChild(hText_txt); } function getFormat(color:String="0x000000"):TextFormat { var format:TextFormat=new TextFormat(); format.font= "Verdana"; //FONT; format.size=16;//TEXT_SIZE; format.color=color; format.bold=true; format.leading=5; format.rightMargin=10; format.leftMargin=10; format.align= "left"; return format; } function createButton():void { var sp:Sprite = new Sprite(); sp.graphics.lineStyle(1,0x666666); sp.graphics.beginFill(0xCCCCCC,1); sp.graphics.drawRect(0,0,100,25); sp.graphics.endFill(); sp.x= xPos+130; sp.y= yPos+100; addChild(sp); sp.buttonMode=true; sp.mouseChildren=false; var label_txt:TextField = new TextField(); label_txt.selectable=false; label_txt.autoSize=TextFieldAutoSize.LEFT; label_txt.text ="Send"; label_txt.setTextFormat(getFormat()); label_txt.x= (sp.width-label_txt.width)/2; label_txt.y=(sp.height-label_txt.height)/2+2; sp.addChild(label_txt); sp.addEventListener(MouseEvent.CLICK,sendData); } function sendData(evt:Event):void { var send_arr:Array= new Array(); var ctr:int=0; for(var i:int=0;i<this.numChildren;i++) { if(this.getChildAt(i).toString()=='[object textBox]') { var item:* = this.getChildAt(i); // trace("this.getChildAt(i) " + item.name); if(item.name=="txt0" ||item.name=="txt1" ||item.name=="txt2" ||item.name=="txt3") { if(item.txt.text =="") { stage.focus = item.txt; return; } else { send_arr[ctr]= item.txt.text; ctr++; } } } } var url:String = "mail.php"; var variables:URLVariables = new URLVariables(); variables.Name = send_arr[0]; variables.Company = send_arr[1]; variables.EmailAddress=send_arr[2]; variables.Phone= send_arr[3]; variables.Comments= cmtBox.txt.text; sendVariables(url, variables); } function sendVariables(url:String, _vars:URLVariables):void { var request:URLRequest = new URLRequest(url); var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; request.data = _vars; request.method = URLRequestMethod.POST; loader.addEventListener(Event.COMPLETE, handleComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError); loader.load(request); } function handleComplete(event:Event):void { var loader:URLLoader = URLLoader(event.target); trace("Message: " + loader.data.msg); var msgStr:String = loader.data.msg; getMailStatus(msgStr); } function onIOError(event:IOErrorEvent):void { trace("Error loading URL."); } function clearTextFields():void { for(var i:int=0;i<this.numChildren;i++) { if(this.getChildAt(i).toString()=='[object textBox]') { var item:* = this.getChildAt(i); trace("this.getChildAt(i)fff " + item.name); if(item.name=="txt0" ||item.name=="txt1" ||item.name=="txt2" ||item.name=="txt3") { item.txt.text=""; } //trace("name " ,this.getChildAt(i).name); } } cmtBox.txt.text=""; } ContactForm ()
-
ok me lo vede ma:
1)è troppo grosso devo ridimensionarlo e non so come fare..
2)il pulsante send ha di fianco una scritta"required field" e il tasto send non funziona come devo fare?
3)come devo modificare i vari file in modo che l'email arrivi al mio indirizzo di posta?
4)dove devo modificare per aggiungere dei campi?
-
il pulsante send quando pubblico il progetto rimane immobile e non fà niente come devo fare?
-
a in piu siccome lo devo mettere dentro una maschera non so perchè ma per il form eè come se non ci fosse è si vede sempre aiuto!!!
-
Aspetta una cosa alla volta, proviamo l'invio devi mettere l'indirizzo nel file php
<?php $name = $_POST["Name"]; $company = $_POST["Company"]; $emailaddress = $_POST["EmailAddress"]; $phone = $_POST["Phone"]; $comments = $_POST["Comments"]; $message = "Hello "." \r\n\r\n".$comments; $message .= "\r\n Contact Person details: "; $message .= "\r\n Name:".$name; $message .= "\r\n company:".$company; $message .= "\r\n email address:".$emailaddress; $message .= "\r\n phone:".$phone; $headers = 'From: '.$name.' <'.$emailaddress.'>' . "\r\n"; if (mail("[email protected]", "New contact", $message, $headers)) { echo("msg=Messages has been sent successfully"); } else { echo("msg=Server error"); } ?>
-
stasera provo il fatto è che il pulsante send non si anima proprio rimane fisso
-
Che animazione dovrebbe fare, nel mio test rimane fisso ma funziona.
-
cioè non deve animarsi e dire se il messaggio l'ha spedito o no?
-
Compare un testo che avverte che il messaggio è stato inviato ma lo vedi solo una volta online.
-
sei un grande funziona!!!!!!l'unica cosa me la mette sulla posta indesiderata e non so il perchè...passiamo all'altro punto devo diminuire la grandezza del form,poi un problema quando clicco su send e appare il messaggio che la mai è stata spedita questo messaggio non scompare piu cè una soluzione? poi io come ti ho già detto prima ho una maschera e il form è come se non se ne accorgesse e si sovrappone a tutte le pagine..
-
Be si la scritta rimane ma basta un refresh per farla scomparire non penso che un utente debba mandare più mail in sucessione, per rimpiciolire il form fai doppio click nei movieclip in libreria e una volta aperti diminiusci le dimensioni del font e con lo strumento trasformazione libera rimpiciolisci la grafica. La maschera di cui parli penso sia una immagine e non una maschera flash perche i campi testo non possono essere mascherati, se è una immagine devi caricarla dinamicamente dalla libreria solo così puoi sperare che vada in un livello superiore.
-
ti mando il mio file .fla del sito perchè non riesco a diminuire il testo e poi cosi capisci cosa intendo per sovrapporre guarda come ho impostato la maschera..pubblicalo e poi clicca su iscriviti prova a compilare poi clicca sul pulsante home e vedi cosa succede...dammi l'idirizzo mail tuo che ti invio il mio .fla
-
inoltre devo aggiungere al form questi campi oddio nathan non so come fare sto andando in cattura....solo tu mi puoi salvare!!!!"Nome","Cognome","Email","N.tel","Descrivi","Nata/o a","il","residente a","provincia","via","Tel Casa","Scrivi qui a quali provini o casting sei interessata/o tra Canto, Ballo, Recitazione, Sfilate di moda, Arte varia"
-
fa in modo che il form vada via quando si clicca su home o altri pulsanti ti prego!!!
-
nathan ti ho rimandato il mio sito...il motivo te lo scritto nella mail sono nelle tue mani...