Tengo el sig. problema:
Es un formulario que envía datos vía mail aprovechando un archivo php externo.
El código fue publicado en estas mismas páginas y funciona perfectamente en una película independiente.
El problema es que estoy tratando de usarlo desde un MC que se agrega mediante addChild() y allí deja de funcionar.
Coloco el código a ver si alguien me dice qué debería cambiarle para que funcione.
Código ActionScript :
stop();
//estos son dos campos de texto dinámico
txtNombre.text = "";
txtEmail.text = "";
/*
Función que se ejecuta al presionar el botón btEnviar y comprueba que los campos están rellenos
y también que la dirección de mail cumpla algunas normas básicas
*/
function irAEnviar(event:MouseEvent):void {
var vacio:String= "";
if (txtNombre.text == ""){
vacio += "Falta su nombre | ";
}
if (txtEmail.text == ""){
vacio += "Escriba su email | ";
}
if (txtEmail.text.indexOf("@") == -1 || txtEmail.text.indexOf("@") != txtEmail.text.lastIndexOf("@")) {
vacio += "email incorrecto | ";
}
if(vacio==""){
//Creamos misVariables la cual contendrá nuestros campos.
var misVariables:URLVariables = new URLVariables();
//Definimos los campos y les agregamos el valor de las cajas de texto.
misVariables.nombre = this.txtNombre.text;
misVariables.email = this.txtEmail.text;
misVariables.listado = this.colecta.text;
}
else{
lbRespuesta.text = vacio;//campo dinámico para mostrar mensajes al usuario
}
//Creamos la instancia pedido que contendrá los datos de envío.
var pedido:URLRequest = new URLRequest();
//Pasamos los datos al pedido, el método de envío y le cargamos misVariables.
pedido.url = "http://www.paginaweb.com.ar/formulario.php";
pedido.method = URLRequestMethod.POST;
pedido.data = misVariables;
//Creamos la instancia cargador.
var cargador:URLLoader = new URLLoader();
//Damos formato de Variables a cargador .
cargador.dataFormat = URLLoaderDataFormat.VARIABLES;
//Listener de cargador que espera se COMPLETE la carga para ejecutar la función completeHandler.
cargador.addEventListener(Event.COMPLETE, completeHandler);
//intentamos cargar el pedido y si hay algún error lo detectamos
try {
if(vacio==""){
cargador.load(pedido);
}
} catch (error:Error) {
lbRespuesta.text= "Error en el envío, intente más tarde";
}
//Aquí obtenemos la respuesta del PHP para confirmar en flash que todo salió bien o mal.
function completeHandler(event:Event):void {
lbRespuesta.text=event.target.data.respuestaPHP;
//navigateToURL(new URLRequest("pie.html"), "pie");
play();
}
}
//Listener que está esperando el Click en el btEnviar para ejecutar la función irAEnviar
enviarForm.addEventListener(MouseEvent.CLICK, irAEnviar);
No publico el archivo php porque como dije al principio, siendo un swf independiente funciona perfecto.
Gracias.
