Está usted en Indice > Programas > Diseño > Flash > Lecciones y Paso a Paso > Enviando formularios y datos por GET y POST en Flash
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Enviando formularios y datos por GET y POST en Flash

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 :

textinput

Asi que la interfaz de usuario nos quedaria con:

  1. Campo de texto "TextInput" para el nombre llamado "nombre_txt"
  2. Campo de texto "TextInput" para el email llamado "email_txt"
  3. Campo de texto "TextInput" para la clave llamado "clave_txt"
  4. Boton de envio del formulario
  5. Campo de texto "Dynamic Text" multilinea para el mensaje del servidor
  6. Logo de Cristalab en la esquina :D

ejemplo formulario

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


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

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.


Página generada el 04-07-2008 a las 17:55:29