Ver Mensaje Individual
  #19 (permalink)  
Antiguo 10/06/2010, 19:13
edysierra
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Fallo de un formulario dentro de la pelicula

Hola Natobicarbo!

Te comento cómo lo tenía yo y cómo lo resolví. En primer lugar estaba en un MC dentro de una escena. Al formulario no llamaba a través de un botón sino que aparecía por medio de una breve animación.
Ese form, que ya estaba hecho como mc, tenia los campos correspondientes con sus respectivos nombres de instancias. Hasta ahi no funcionaba, a menos q lo sacara de la pelicula y entonces sí.
La resolución fue: en el mc original del form, en mi escena, le eliminé los campos (todos), y dejé la animación como estaba. Qué me traia? pues el fondo y algun otro elemento decorativo, pero nada más.
En la escena hice una nueva capa y en el mismo lugar donde aparecía y se quedaba quieto el mc del antiguo form, inserté los campos que necesitaba, instanciandolos con el mismo nombre que tenía antes (ej: nombre_txt).
En otra capa puse el botón y en otra la acción, scripts que copio a continuación:

Botón:
on (release) {
estado_txt.text = "Enviando su correo ...";
enviarMail();
}

Capa Action
//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 formulario
function enviarMail()
{
//if(_nombre_txt.text.length<1){
// estado_txt.text="por favor complete el campo nombre";return;
//}
envio_lv.nombre = nombre_txt.text;
envio_lv.telefono = telefono_txt.text;
envio_lv.email = email_txt.text;
envio_lv.consulta = consulta_txt.text;
envio_lv.sendAndLoad("email.asp", 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) {
estado_txt.text = this.estado;
} else {
//Muestra un mensaje de error en negrita
estado_txt.text = "Error en la aplicación de correo";
}
};


De esta manera no es necesario rutear los campos (_root) pues ya están colocados en la linea principal de mi escena. Esto surgió por la sugerencia de Mortiprogramador a quien le agradezco mucho las ideas que me aportó.

Recuerda que el archivo que procesa el envío del correo tiene que estar en la misma carpeta donde está tu película, al mismo nivel. Puede ser ASP (mi caso) o PHP si es el que manejas.

Bueno, espero no haber sido confuso. Si tienes alguna duda respecto a este funcionamiento, con todo gusto trataré de ayudarte.

PD: ahora me encuentro tratando de hacerle una validación de los campos que no sea demasiado confusa porque para tanto no dan mis conocimientos.

Un saludo!!