Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/02/2007, 21:18
karencita
 
Fecha de Ingreso: julio-2006
Mensajes: 32
Antigüedad: 17 años, 9 meses
Puntos: 0
duda, formulario flash

Hola, estoy haciendo un formulario em flash 8 y he tenido problemas con la validacion del e-mail dentro del mismo formulario, cuando lo pruebo y pongo un email real siempre me manda un error, y que escriba una direccion de correo valida, aunque la direccion de correo que escribo es una verdadera. la verdad no entiendo mucho aunque se que el error esta en el action script en la parte de validación. a continuación mando el script para que lo revisen y me digan que esta mal. (He probado eliminando esta parte para evr si el resto del formulario se envia y funciona bien)


stop();
System.useCodepage = true;
import mx.controls.*;

nombre_txt.tabIndex = 1;
apellidos_txt.tabIndex = 2;
mail_txt.tabIndex = 3;
producto_cmb.tabIndex = 4;
buscadores_rdo.tabIndex = 5;
publicidad_rdo.tabIndex = 6;
otros_rdo.tabIndex = 7;
otros_txt.tabIndex = 8;
info_chk.tabIndex = 9;
reset_btn.tabIndex = 10;
enviar_btn.tabIndex = 11;

focusManager.defaultPushButton = enviar_btn;
Selection.setFocus(nombre_txt);

var escuchadorLimpiar:Object = new Object();
escuchadorLimpiar.click = function(evt:Object) {
nombre_txt.text = "";
apellidos_txt.text = "";
mail_txt.text = "";
producto_cmb.selectedIndex = 0;
buscadores_rdo.selected = true;
otros_txt.text = "";
otros_txt.editable = false;
info_chk.selected = true;
}
reset_btn.addEventListener("click", escuchadorLimpiar);

var escuchadorOtros:Object = new Object();
escuchadorOtros.click = function(evt:Object) {
if (otros_rdo.selected) {
otros_txt.editable = true;
Selection.setFocus(otros_txt);
}
else {
otros_txt.text = "";
otros_txt.editable = false;
}
}
encontrar.addEventListener("click", escuchadorOtros);

var escuchadorEnvia:Object = new Object();
escuchadorEnvia.click = function(evt:Object) {
// si el nombre está en blanco salta un aviso
if (nombre_txt.text.length == 0) {
Alert.show("Introduzca su nombre", "Error", Alert.OK);
Selection.setFocus(nombre_txt);
return false;
}
// si los apellidos están en blanco salta un aviso
if (apellidos_txt.text.length == 0) {
Alert.show("Introduzca sus apellidos", "Error", Alert.OK);
Selection.setFocus(apellidos_txt);
return false;
}


// función para validar el mail
function isMail(mail:String) {
// indexOf devuelve la primera posición de la cadena indicada en el string, la primera posición es 0
// lastIndexOf devuelve la última posición de la cadena indicada en el string
if (mail.indexOf("@") > 0 && mail.indexOf("@") == mail.lastIndexOf("@")) {
// si la @ se encuentra al menos en posición 1 y no hay dos @
if (mail.lastIndexOf(".") > mail.indexOf("@") + 1 && mail.lastIndexOf(".") < mail.length - 2) {
// si el último . se encuentra después de la @ + 1 y después de éste hay al menos dos caracteres
return true;
}
else {
return false;
}
}
else {
return false;
}
}
// si el email no es válido salta un aviso
if (!isMail(mail_txt.text)) {
Alert.show("Introduzca un correo electrónico válido", "Error", Alert.OK);
Selection.setFocus(mail_txt);
return false;
}
// si el mensaje está en blanco salta un aviso
if (otros_rdo.selected && otros_txt.text.length == 0) {
Alert.show("Indique dónde nos encontró", "Error", Alert.OK);
Selection.setFocus(otros_txt);
return false;
}

// si ha llegado hasta aquí, pasamos a enviar
var envio:LoadVars = new LoadVars();

// rellenamos las variables
envio.nombre = nombre_txt.text;
envio.apellidos = apellidos_txt.text;
envio.email = mail_txt.text;
envio.producto = producto_cmb.selectedItem.data;
envio.nombre = nombre_txt.text;
if (buscadores_rdo.selected) {
envio.encontrar = buscadores_rdo.data;
}
else if (publicidad_rdo.selected) {
envio.encontrar = publicidad_rdo.data;
}
else if (otros_rdo.selected) {
envio.encontrar = otros_txt.text;
}
envio.masinfo = info_chk.selected;

// definimos el onLoad de envio
envio.onLoad = function(exito:Boolean) {
if (exito) {
nombre_txt.text = "";
apellidos_txt.text = "";
mail_txt.text = "";
producto_cmb.selectedIndex = 0;
buscadores_rdo.selected = true;
otros_txt.text = "";
otros_txt.editable = false;
info_chk.selected = true;
}
else {
Alert.show("Ha habido un error en el envío", "Error");
}
}

// enviamos las variables al archivo PHP
envio.sendAndLoad("enviar_mail.php", envio, "POST");

Selection.setFocus(nombre_txt);
}
enviar_btn.addEventListener("click", escuchadorE



muchas gracias