Comunidad de diseño web y desarrollo en internet online

Problemas con formulario

Citar            
MensajeEscrito el 29 Ene 2010 05:14 pm
Hola eh copiado un formulario ya hecho que me gusto mucho por su validación, pero lamento no poder lograr que una vez que envía los datos cambie de frame o de escena, la verdad llevo dos días sin poder nada, agradecería la ayuda de alguien experto, eh subido los archivos relacionados al respecto, no quiero que me hagan el trabajo es que no sabría explicar todo el código action que tiene en los diferentes lugares, desde ya muchas gracias y a la espera.

Archivos

Por elpelado70

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Ene 2010 05:31 pm
Fijate dentro del codigo, dentro del if (exito) o similar, de agregar un goto.
por ejemplo:
Si tienes algo como esto

Código ActionScript :

recibir_lv.onLoad = function(exito) {
   
   if (exito) {
      estado_txt.text = this.estado;
}
}


agregarias lo siguiente:

Código ActionScript :

recibir_lv.onLoad = function(exito) {
   
   if (exito) {
      estado_txt.text = this.estado;
                gotoAndStop(3);
//(3) es el numero de frame al que ira luego de enviar en mensaje
}
}

Prueba tratar de resolver tu el problema ya que es muy poco frecuente que alguien descargue un archivo.
Saludos y suerte

Por checheno

528 de clabLevel

3 tutoriales

 

Mar del Plata - Argentina

firefox
Citar            
MensajeEscrito el 29 Ene 2010 06:14 pm
Hola tengo este código en una capa as y en otra capa está el formulario, el cual está dividido la parte de los datos y el sector de los botones

Código ActionScript :

// objetos loadvars
_global.datosUser = new LoadVars();
_global.respuesta = new LoadVars();
respuesta.onLoad = function() {
   if (this.error == 0) {
      //confirmación de envío
   } else {
      //mensaje de error
   }
};
// función para validar el email ------------------------------------------
_global.isMail = function(arg) {
   // compruebo que no este vacía la cadena exaustivamente
   if (arg == "" || arg == null || arg == "null" || arg == undefined || arg == "undefined") {
      return false;
      //trace("cadena vacía");
      // compruebo si hay una arroba y solo una
   } else if (arg.indexOf("@") == -1 || arg.indexOf("@") != arg.lastIndexOf("@")) {
      return false;
      //trace("núm de @ erróneo");
   } else {
      // dividimos la direccion en usuario y dominio
      var partes = arg.split("@");
      var usuario = partes[0];
      var dominio = partes[1];
      // compruebo usuario
      if (usuario.length<1) {
         return false;
         //trace("usuario vacío");
      } else {
         // compruebo si hay algún carácter raro
         var caracteresProhibidos = new Array("º", "ª", "!", "#", "$", "%", "&", "¬", "/", "(", ")", "=", "?", "¿", "¡", ",", ";", ":", "[", "]", "{", "}", "á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú");
         var numCaracteresProhibidos = 0;
         for (var k = 0; caracteresProhibidos[k]; k++) {
            if (usuario.indexOf(caracteresProhibidos[k]) != -1) {
               numCaracteresProhibidos++;
            }
         }
         if (numCaracteresProhibidos>0) {
            //trace("caracteres prohibidos encontrados");
            return false;
            // compruebo dominio
         } else if (dominio.indexOf(".") == -1 || dominio.length<1) {
            return false;
            //trace("núm de puntos erróneo en dominio");
         } else {
            var partes_dominio = dominio.split(".");
            var extension = partes_dominio[partes_dominio.length-1];
            // compruebo que el dominio tenga como mínimo 3 chr antes del punto
            if (dominio.length-extension.length<4) {
               //trace("dominio menor de 3 chr");
               return false;
            } else if (extension.length<2 || extension.length>4) {
               //trace("longitud de extension errónea");
               return false;
            } else {
               //trace("mail correcto");
               return true;
            }
         }
      }
   }
};
// función para comprobar si un campo está en blanco
_global.isBlank = function(valor) {
   if (valor == "" || valor == undefined || valor == null || valor.length<1) {
      return true;
   } else {
      return false;
   }
};

Sector datos

Código ActionScript :

onClipEvent (load) {
   function enviarFormulario() {
      //ruta = this;
      // compruebo que el campo nombre y apellidos no esté vacío
      if (isBlank(nombreV)) {
         _parent.submitForm_mc.avisar("Es necesario rellenar el campo Nombre y Apellidos");
         Selection.setFocus("nombreV");
         Selection.setSelection(0, 0);
      } else {
         // compruebo que el correo electrónico no esté vacío
         if (isBlank(emailV)) {
            _parent.submitForm_mc.avisar("Es necesario rellenar el campo Correo Electrónico");
            Selection.setFocus("emailV");
            Selection.setSelection(0, 0);
         } else {
            // compruebo que el correo electrónico esté bien escrito
            if (!isMail(emailV)) {
               _parent.submitForm_mc.avisar("El campo Correo Electrónico no es correcto");
               Selection.setFocus("emailV");
               Selection.setSelection(0, emailV.length);
            } else {
               // como localidad y empresa y teléfono no son obligatorios no compruebo nada
               if (isBlank(consultaV)) {
                  _parent.submitForm_mc.avisar("Es necesario rellenar el campo Consulta");
                  Selection.setFocus("consultaV");
                  Selection.setSelection(0, 0);
               } else {
                  if (isBlank(telV)) {
                     datosUser.telefono = "No cumplimentado";
                  } else {
                     datosUser.telefono = telV;
                  }
                  if (isBlank(localidadV)) {
                     datosUser.localidad = "No cumplimentado";
                  } else {
                     datosUser.localidad = localidadV;
                  }
                  if (isBlank(empresaV)) {
                     datosUser.empresa = "No cumplimentado";
                  } else {
                     datosUser.empresa = empresaV;
                  }
                  datosUser.nombre = nombreV;
                  datosUser.email = emailV;
                  datosUser.consulta = consultaV;
                  datosUser.sendAndLoad("email.php",respuesta,"POST");
               }
            }
         }
      }
   }
}

Sector botones

Código ActionScript :

onClipEvent (load) {
}

El sector botones está dividido en el botón enviar y el botón borrar
Botón enviar

Código ActionScript :

on (release) {
   _parent.formulario_mc.enviarFormulario();
}

Botón borrar datos

Código ActionScript :

on (release) {
   _parent.formulario_mc.nombreV = "";
   _parent.formulario_mc.emailV = "";
   _parent.formulario_mc.localidadV = "";
   _parent.formulario_mc.telV = "";
   _parent.formulario_mc.empresaV = "";
   _parent.formulario_mc.consultaV = "";
   Selection.setFocus("_parent.formulario_mc.nombre");
}

----------------------------------------------------------------------------------------
Como se puede ver hace una validación, antes de enviar los datos, pero no encuentro nada parecido a lo que vos me mostras, envía los datos sin ningún problema pero se queda ahí en el formulario, le eh agregado un frame con un goto en todos los lugares que se me han parecido iba a dar reultado pero no, también intente con una escena 2 pero tampoco, no pasa del formulario, quise hacer un header ("Location:"); con php pero no me da bola.................no es falta de voluntad es que ya no se por donde viene el tema, te agradezco tu pronta respuesta y espero que alguien más se sume al tema.............

Por elpelado70

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Ene 2010 06:30 pm
Deberias poner la funcion luego de que flash recibe la respuesta del php.

Código ActionScript :

datosUser.nombre = nombreV; 
                  datosUser.email = emailV; 
                  datosUser.consulta = consultaV; 
                  datosUser.sendAndLoad("email.php",respuesta,"POST");
//prueba agregando tu codigo aqui
gotoandstop(3)

Por checheno

528 de clabLevel

3 tutoriales

 

Mar del Plata - Argentina

firefox
Citar            
MensajeEscrito el 29 Ene 2010 08:18 pm
Coloque un frame clave dos en donde coloco las gracias, pero no funciona con

Código ActionScript :

gotoAndStop(2);

Fijate se queda ahí pensando, el mail sale pero queda el servidor laburando, me tiene re-caliente

Por elpelado70

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Ene 2010 03:40 am
prueba utilizando _parent antes del goto, sino funciona alli, ponelo en el boton.

Por checheno

528 de clabLevel

3 tutoriales

 

Mar del Plata - Argentina

firefox
Citar            
MensajeEscrito el 30 Ene 2010 01:42 pm
Checheno, sos un maestro, muchas gracias por tu tiempo, quedo así..............

En el formulario

Código ActionScript :

onClipEvent (load) {
   function enviarFormulario() {
      //ruta = this;
      // compruebo que el campo nombre y apellidos no esté vacío
      if (isBlank(nombreV)) {
         _parent.submitForm_mc.avisar("Es necesario rellenar el campo Nombre y Apellidos");
         Selection.setFocus("nombreV");
         Selection.setSelection(0, 0);
      } else {
         // compruebo que el correo electrónico no esté vacío
         if (isBlank(emailV)) {
            _parent.submitForm_mc.avisar("Es necesario rellenar el campo Correo Electrónico");
            Selection.setFocus("emailV");
            Selection.setSelection(0, 0);
         } else {
            // compruebo que el correo electrónico esté bien escrito
            if (!isMail(emailV)) {
               _parent.submitForm_mc.avisar("El campo Correo Electrónico no es correcto");
               Selection.setFocus("emailV");
               Selection.setSelection(0, emailV.length);
            } else {
               // como localidad y empresa y teléfono no son obligatorios no compruebo nada
               if (isBlank(consultaV)) {
                  _parent.submitForm_mc.avisar("Es necesario rellenar el campo Consulta");
                  Selection.setFocus("consultaV");
                  Selection.setSelection(0, 0);
               } else {
                  if (isBlank(telV)) {
                     datosUser.telefono = "No cumplimentado";
                  } else {
                     datosUser.telefono = telV;
                  }
                  if (isBlank(localidadV)) {
                     datosUser.localidad = "No cumplimentado";
                  } else {
                     datosUser.localidad = localidadV;
                  }
                  if (isBlank(empresaV)) {
                     datosUser.empresa = "No cumplimentado";
                  } else {
                     datosUser.empresa = empresaV;
                  }
                  datosUser.nombre = nombreV;
                  datosUser.email = emailV;
                  datosUser.consulta = consultaV;
                  datosUser.sendAndLoad("email.php",respuesta,"POST");
                  // el asp debe responder error=0 si el envío se hizo bien
                  _parent.gotoAndStop(2);
               }
            }
         }
      }
   }
}

Por elpelado70

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 31 Ene 2010 05:03 am
perfecto pela, un saludo...

Por checheno

528 de clabLevel

3 tutoriales

 

Mar del Plata - Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.