Esto uso para enviar el email:
Código ActionScript :
//el php encargado de enviar los datos const FILE:String = "formmail.php"; //aca puden indicar el dominio de su sitio si quieren probarlo desde el player de flash var dominio:String = ""; //como voy a recibir los datos que me devuelva el php > como variables var dataFormat:String = URLLoaderDataFormat.VARIABLES; //patron o expresion regular para verificar un email var patronEmail:RegExp = /(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/; //nuevo objeto para las variables var Variables:URLVariables = new URLVariables(); //destinatario o casilla de destino, puede ser gmail, dominio propio y HOTMAIL!!!! Variables.recipient = "[email protected]"; //Titulo del mensaje Variables.subject = "Formulario desde la web"; //necesario para manejo de variables var urlRequ:URLRequest = new URLRequest(dominio+FILE); urlRequ.method = URLRequestMethod.POST; urlRequ.data = Variables; //objeto que trae se encarga de enviar y recibir los datos al php var urlLoad:URLLoader = new URLLoader(); //aqui formateo los resultados recibidos del php en modo variables urlLoad.dataFormat = dataFormat; //accion del boton enviar enviar_btn.addEventListener(MouseEvent.MOUSE_DOWN,enviarForm); //funcion encargada de enviar los datos al php function enviarForm(obj:Event) { if (patronEmail.test(email_txt.text)==true && nombre_txt.text !="" ) { resultado_txt.text =""; Variables.Cosulta = consulta_txt.text; Variables.email = email_txt.text; Variables.Nombre = nombre_txt.text; urlLoad.load(urlRequ); } else { resultado_txt.text="Complete los campos!"; } } //escuchadores de que paso con los datos del lado del servidor urlLoad.addEventListener(Event.COMPLETE, envioCompleto); urlLoad.addEventListener(IOErrorEvent.IO_ERROR, errorEnvio); //si el envio fue correcto function envioCompleto(obj:Event) { //si el php me dio el ok de que fue enviado if (urlLoad.data.resultado=="ok") { resultado_txt.text="Mensaje enviado"; consulta_txt.text=""; email_txt.text =""; nombre_txt.text=""; } else { resultado_txt.text="Error al enviar"; } } //si hay problemas con el php function errorEnvio(obj:Event) { resultado_txt.text="Error en el servidor!"; } //evento para el campo de texto cuando dejan de hacer foco email_txt.addEventListener(FocusEvent.FOCUS_OUT,verificar); //verifico si el email es correcto! function verificar(obj:Event) { if (patronEmail.test(email_txt.text)==false) { email_txt.text ="*Email incorrecto"; stage.focus = email_txt; var letras:int = email_txt.selectionEndIndex; email_txt.setSelection(0,17); } }
El DataGrid tiene esto:
Código ActionScript :
import fl.data.DataProvider; import fl.controls.DataGrid; import fl.events.ListEvent; // DUMMY DATA var dp:DataProvider = new DataProvider(); for(var i:uint=0; i<10; i++) { dp.addItem( {id:i, title:"Usuario"+i, pass:"Pass"+i } ); } // CREATE DATAGRID var dg:DataGrid = new DataGrid(); dg.dataProvider = dp; dg.setSize(300,200); addChild(dg); // EVENT LISTENER dg.addEventListener(ListEvent.ITEM_CLICK, gridItemSelected); // EVENT HANDLER function gridItemSelected(e:ListEvent):void { trace( "Row Index: " + e.rowIndex); trace( "Column Index: " + e.columnIndex); var colName:String = e.target.columns[e.columnIndex].dataField; trace( "Column Field Name: " +colName); trace( "Cell data: " +e.item[colName]); }
La idea es que en la variable email en lugar de que me tome el campo dinamico consulta.text me tome todo el contenido del dg, espero que puedan ayudarme, gracias.