Foros del Web » Creando para Internet » Flash y Actionscript »

Seleccionar destinatario de correo en Formulario

Estas en el tema de Seleccionar destinatario de correo en Formulario en el foro de Flash y Actionscript en Foros del Web. Tengo un formulario de contacto que envía un mail con PHP. Hasta aquí me funciona perfectamente. Ahora quiero que con un cuadro combinado ("destino") se ...
  #1 (permalink)  
Antiguo 05/06/2007, 09:28
Avatar de SebastiFast
Colaborador
 
Fecha de Ingreso: mayo-2004
Ubicación: Venezuela
Mensajes: 1.586
Antigüedad: 19 años, 11 meses
Puntos: 45
Seleccionar destinatario de correo en Formulario

Tengo un formulario de contacto que envía un mail con PHP. Hasta aquí me funciona perfectamente.

Ahora quiero que con un cuadro combinado ("destino") se pueda seleccionar el correo del destinatario: [email protected]; [email protected]; [email protected], etc.
Código:
destino.addItemAt(0, "Información", info);
destino.addItemAt(1, "Administración", adm);
destino.addItemAt(2, "Ventas", ventas);
destino.addItemAt(3, "Gerencia", gerencia);
...más abajo:
Código:
	enviar.sendAndLoad("enviar_info.php", enviar, "POST");
Lo que quiero es que según la selección del Combo Box, la función enviar lo dirija a un archivo específico: "enviar_info.php" o "enviar_adm.php", etc.

De antemano Gracias.
__________________

"Nunca es tarde para empezar, mientras sea ahora" ____________ Cher

  #2 (permalink)  
Antiguo 05/06/2007, 22:24
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Seleccionar destinatario de correo en Formulario

Disculpen si no aporte nada, pero es q no se como se hace, pero si me interesa saber como.
=)
  #3 (permalink)  
Antiguo 06/06/2007, 08:40
Avatar de SebastiFast
Colaborador
 
Fecha de Ingreso: mayo-2004
Ubicación: Venezuela
Mensajes: 1.586
Antigüedad: 19 años, 11 meses
Puntos: 45
Ya lo logré

Partí de un formulario que encontré en las Faq's hace tiempo.

Inserto en el escenario un componente "Combo Box" al que asigno el nombre de instancia "destino" sin comillas.

Luego voy a las acciones de fotograma e inserto este código
Cita:
destino.addItemAt(0, "Información", 0);
destino.addItemAt(1, "Administración", 0);
destino.addItemAt(2, "Ventas", 0);
destino.addItemAt(3, "Gerencia", 0);
Estas serán las opciones del menú. Las puedes cambiar, quitar o agregar más opciones. El indice empieza por cero (0).

Seguro que existen otras formas más simples de hacerlo pero como no sé programar y apenas entiendo los códigos, esta fue la que se me ocurrió. Ya que la función enviar ya estaba creada y funcionaba correctamente, la renombré como "enviar1" , luego la copié como "enviar2", "enviar3" y "enviar4".
En cada caso modifique también el nombre del archivo php al que va dirigido.
Código:
function enviar1() {
	enviar1 = new LoadVars();
	enviar1.nombre = nombre;
	enviar1.telefono = telefono;
	enviar1.MailFrom = MailFrom;
	enviar1.direccion = direccion;
	enviar1.mensaje = mensaje;
	enviar1.onLoad = function (success) {
		status = "Su Mensaje fue enviado a Información";
		borrar();
	};
	enviar1.sendAndLoad("form_01.php", enviar1, "POST");
}
///_________________________________________
function enviar2() {
	enviar2 = new LoadVars();
	enviar2.nombre = nombre;
	enviar2.telefono = telefono;
	enviar2.MailFrom = MailFrom;
	enviar2.direccion = direccion;
	enviar2.mensaje = mensaje;
	enviar2.onLoad = function(success) {
		status = "Su Mensaje fue enviado a Administración";
		borrar();
	};
	enviar2.sendAndLoad("form_02.php", enviar2, "POST");
}
///_________________________________________
function enviar3() {
	enviar3 = new LoadVars();
	enviar3.nombre = nombre;
	enviar3.telefono = telefono;
	enviar3.MailFrom = MailFrom;
	enviar3.direccion = direccion;
	enviar3.mensaje = mensaje;
	enviar3.onLoad = function(success) {
		status = "Su Mensaje fue enviado a Ventas";
		borrar();
	};
	enviar3.sendAndLoad("form_03.php", enviar3, "POST");
}
///_________________________________________
function enviar4() {
	enviar4 = new LoadVars();
	enviar4.nombre = nombre;
	enviar4.telefono = telefono;
	enviar4.MailFrom = MailFrom;
	enviar4.direccion = direccion;
	enviar4.mensaje = mensaje;
	enviar4.onLoad = function(success) {
		status = "Su Mensaje fue enviado a Gerencia";
		borrar();
	};
	enviar4.sendAndLoad("form_04.php", enviar4, "POST");
}
///_________________________________________
Al final el código me quedó así:
Código:
////////////////////////////////////
///___ Asignamos los valores al Combo Box
destino.addItemAt(0, "Información", 0);
destino.addItemAt(1, "Administración", 0);
destino.addItemAt(2, "Ventas", 0);
destino.addItemAt(3, "Gerencia", 0);
///_________________________________________
function enviar1() {
	enviar1 = new LoadVars();
	enviar1.nombre = nombre;
	enviar1.telefono = telefono;
	enviar1.MailFrom = MailFrom;
	enviar1.direccion = direccion;
	enviar1.mensaje = mensaje;
	enviar1.onLoad = function (success) {
		status = "Su Mensaje fue enviado a Información";
		borrar();
	};
	enviar1.sendAndLoad("form_01.php", enviar1, "POST");
}
///_________________________________________
function enviar2() {
	enviar2 = new LoadVars();
	enviar2.nombre = nombre;
	enviar2.telefono = telefono;
	enviar2.MailFrom = MailFrom;
	enviar2.direccion = direccion;
	enviar2.mensaje = mensaje;
	enviar2.onLoad = function(success) {
		status = "Su Mensaje fue enviado a Administración";
		borrar();
	};
	enviar2.sendAndLoad("form_02.php", enviar2, "POST");
}
///_________________________________________
function enviar3() {
	enviar3 = new LoadVars();
	enviar3.nombre = nombre;
	enviar3.telefono = telefono;
	enviar3.MailFrom = MailFrom;
	enviar3.direccion = direccion;
	enviar3.mensaje = mensaje;
	enviar3.onLoad = function(success) {
		status = "Su Mensaje fue enviado a Ventas";
		borrar();
	};
	enviar3.sendAndLoad("form_03.php", enviar3, "POST");
}
///_________________________________________
function enviar4() {
	enviar4 = new LoadVars();
	enviar4.nombre = nombre;
	enviar4.telefono = telefono;
	enviar4.MailFrom = MailFrom;
	enviar4.direccion = direccion;
	enviar4.mensaje = mensaje;
	enviar4.onLoad = function(success) {
		status = "Su Mensaje fue enviado a Gerencia";
		borrar();
	};
	enviar4.sendAndLoad("form_04.php", enviar4, "POST");
}
///_________________________________________
function borrar() {
	nombre = "";
	telefono = "";
	MailFrom = "";
	direccion = "";
	mensaje = "";
}
Entonces tendremos que copiar y renombrar los archivos:
form_01.php
form_02.php
form_03.php
form_04.php

Donde en cada uno asignaremos una dirección de correo distinta.

Ahora vamos al botón ENVIAR.
Necesitamos crear una condición para que llame a una de las cuatro funciones enviar1, enviar2, etc.
Entonces creamos una variable:
Código:
var seleccionado = destino.getSelectedIndex();
getSelectedIndex es un método del componente ComboBox, su uso está en la ayuda de flash, lo que hace es obtener el indice seleccionado del ComboBox, sea 0, 1, 2 o 3.
Ahora le incluimos una condición

Código:
on (release) {
	var seleccionado = destino.getSelectedIndex();
	if (seleccionado == "0") {
	enviar1();
	} 
else if (seleccionado == "1") {
	enviar2();
	} 
else if (seleccionado == "2") {
	enviar3();
	} 
else if (seleccionado == "3") {
	enviar4();
	}
Así ya funciona el código, pero le incluimos la validación de los campos y el status, nos queda así:

Código:
on (release) {
	var seleccionado = destino.getSelectedIndex();
	if (seleccionado == "0" && MailFrom.indexOf("@") != -1 && MailFrom.indexOf(".") != -1 && nombre != "" && telefono != "" && mensaje != "") {
	enviar1();
	} 
	else if (seleccionado == "1" && MailFrom.indexOf("@") != -1 && MailFrom.indexOf(".") != -1 && nombre != "" && telefono != "" && mensaje != "") {
	enviar2();
	} 
	else if (seleccionado == "2" && MailFrom.indexOf("@") != -1 && MailFrom.indexOf(".") != -1 && nombre != "" && telefono != "" && mensaje != "") {
	enviar3();
	} 
	else if (seleccionado == "3" && MailFrom.indexOf("@") != -1 && MailFrom.indexOf(".") != -1 && nombre != "" && telefono != "" && mensaje != "") {
	enviar4();
	} 
	else {
	status = "Llene correctamente todos los campos";
	}
}
Listo, nos queda entonces subir al servidor cuatro archivos php y un swf.
__________________

"Nunca es tarde para empezar, mientras sea ahora" ____________ Cher

  #4 (permalink)  
Antiguo 25/09/2007, 10:33
Avatar de florgl  
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba
Mensajes: 43
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Seleccionar destinatario de correo en Formulario

Hola!... por favor necesito de tu ayuda.... me vino de 10 este tutorial ... porque lo estaba buscando por todos lados... ya q tambien tengo q enviar (o seleccionar) varios destinos. Hice todo tal cual como publiscaste, pero me sale este error:
Cita:
**Error** Escena=Escena 1, capa=Capa 33, fotograma=1:Línea 9: El tipo de la declaración de asignación no coincide: se encontró LoadVars donde se requiere Function.
enviar1 = new LoadVars();
y encima no me llega los mails (puse varios de mis mails para ver si llegaban...
Será por ese error?
Te agradeceria toda la ayuda q puedas! Gracias!!

Flor.
  #5 (permalink)  
Antiguo 25/09/2007, 10:35
Avatar de florgl  
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba
Mensajes: 43
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Seleccionar destinatario de correo en Formulario

ese error aparece en todas las: enviar1, enviar2, enviar3 y enviar4.
Gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:15.