Uno de los atractivos mas grandes de LoadVars es que nos permite enviar datos que nosotros pidamos al usuario desde Flash como un formulario HTML, que puede ser procesado por cualquier Script del lado del servidor (ASP, PHP, CFML, JSP, Perl, CGI, etc!), vamos a ver un pequeño ejemplo del envio de un formulario a un script; usare el ejemplo con PHP y con ASP, para que ustedes puedan escoger cual les conviene mas, ya que normalmente estos son los dos lenguajes que soportan la mayoria de servidores; de cualquier manera el codigo en Flash es el mismo.
La idea es que cuando nosotros enviemos los datos del formulario, el script ASP o PHP nos devuelva un mensaje diciendonos que el registro se completo y que mientras el script nos da el aviso, aparezca un mensaje cargando.
Para esto, vamos a crear una pequeña interfaz de formulario, con un campo de texto de tipo "Dynamic Text para el mensaje que devuelve el script del servidor, tres campos de entrada para Nombre, Email y Contraseña; en este caso, como lo que vamos a hacer es un formulario, usaremos los componentes de Flash MX 2004, no importa si lo quieres hacer con los tradicionales "Input Text", funcionara de la misma manera, usaremos para los campos de entrada este componente :

Asi que la interfaz de usuario nos quedaria con:

Ahora el codigo, para no complicarme con codigo largo dentro del boton, creare una función llamada enviarForm que se encargara de tomar los tres valores de los campos de texto, organizarlos y enviarlos al formulario, asi que el codigo de el boton de enviar sera:
on (release) {
//Coloca el mensaje de carga en el campo de texto "mensaje_txt"
mensaje_txt.text = "Cargando...";
//Llama a la función que envia el formulario
enviarForm();
}
El codigo de la función que enviara los datos al formulario junto con el codigo inherente al LoadVars, estaran en el primer Keyframe de la pelicula.
Nota: Como es la primera vez que vamos a enviar y recibir datos al tiempo, debo aclarar que Flash solicita dos objetos de la clase LoadVars para esta acción, y en este ejemplo asi lo vamos a hacer, pero tambien se puede hacer con uno solo, complicando mas el codigo pero haciendolo un poco mas optimo (La diferencia no es mucha).
//Declaro las variables para enviar y para recibir
var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();
//Función que envia el forumlario
function enviarForm() {
//El nombre de la variable que enviara los datos del formulario
//es "envio_lv", a esa variable le voy asignando uno por uno los
//valores que le llegaran al formulario, y con el mismo nombre que
//asigno aqui sera con el que los Scripts trataran los datos del
//formulario
envio_lv.nombre = nombre_txt.text;
envio_lv.email = email_txt.text;
envio_lv.clave = clave_txt.text;
//Uso el metodo "sendAndLoad" para enviar el formulario y recibir
//la respuesta del servidor, el metodo tiene tres parametros
//el primero es la URL del script que tratara el formulario, en este
//caso lo llame "form.php", el segundo es el objeto que cargara la
//respuesta del servidor y el tercero el metodo de envio del formulario
//que puede ser, como en HTML, GET o POST
envio_lv.sendAndLoad("form.php", recibir_lv, "POST");
//Aqui ustedes pueden cambiar de form.php a form.asp dependiendo del servidor
//que usen
}
//Función que procesa los datos recibidos del servidor
recibir_lv.onLoad = function(exito) {
if (exito) {
//Hace que el campo de texto "mensaje_txt" reciba codigo HTML
mensaje_txt.html = true;
//Le asigna el mensaje recibido del servidor, con formato HTML
mensaje_txt.htmlText = this.mensaje;
} else {
//Muestra un mensaje de error en negrita
mensaje_txt.htmlText = "<b>Error en el Script</b>";
}
};
Usuarios que han visto este tema también han visto...
- Publicar varios archivos .fla a la vez con comandos de Flash
- Guardar una página en favoritos desde Flash
- Television Estatica en Flash
- Efecto gotas de lluvia en el agua Flash 8
- Imprimir desde Flash con ActionScript 1.0
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.