Comunidad de diseño web y desarrollo en internet online

Problema con DATOS SIN COMPLETAR en un formulario

Citar            
MensajeEscrito el 11 Feb 2009 01:04 pm
Ante todo aclaro que buesque en los foros, y encontre gente con problemas similares, pero no en formularios hechos en flash y que manden la info a un php. Por eso lo consulto aca.

Tengo un formulario, con determinadas condiciones, datos que necesito complete si o si. El punto es que si alguien no completo uno de estos datos, cuando le das envias ( y ahis e conecta al php para mandar el mail ) sale la leyenda de que falta ese dato, pero se borra todo lo que se cargo en el formulario, queda todo en blanco.

Lo que quiero es que solo avise que dato no se cargo, pero que no se pierda el resto de la info ya cargada.
Supongo que sto pasa porque tengo una acción en el mismo boton de enviar para limpiar los casilleros. Y creo habra que agregalo algo a ese codigo para que solo lo borre si se mando, el mail.. o no se... esa es la consulta.

Acá pongo los códigos

EL FORMULARIO

Código :

System.useCodepage = true;
alerta._visible = 0;
conectar = new LoadVars();
asunto = "Mensaje desde el sitio web";
servidor = "200.49.145.30";
destino = "[email protected]";
function responder(mensaje) {
   alerta._visible = 1;
   alerta.respuesta = mensaje;
}
function conectarse(archivo) {
   if (apellido == "" || apellido == null || apellido.length<2) {
      responder("El campo Apellido está vacío");
   } else if (elnombre == "" || elnombre == null || elnombre.length<2) {
      responder("El campo Nombre está vacío");
   } else if (domicilio == "" || domicilio == null || domicilio.length<2) {
      responder("El campo País está vacío");
   } else if (provincia == "" || provincia == null || provincia.length<2) {
      responder("El campo Provincia está vacío");
   } else if (localidad == "" || localidad == null || localidad.length<2) {
      responder("El campo Localidad está vacío");
   } else if (prefijo == "" || prefijo == null || prefijo.length<2) {
      responder("El campo Prefijo está vacío");
   } else if (telefono == "" || telefono == null || telefono.length<5) {
      responder("El campo Telefono está vacío");
   } else if (email == "" || email.indexOf("@")<1 || email.indexOf(".", -1)<3) {
      responder("el campo EMAIL esta vacío o no es real");
   } else if (mensaje == "" || mensaje == null || mensaje.length<6) {
      responder("el campo Mensaje esta vacío o no es real");
   } else {
      conectar.contenido += "Apellido : "+apellido+"<BR>";
      conectar.contenido += "Nombre : "+elnombre+"<BR>";
      conectar.contenido += "Empresa o Particular : "+_root.quienes.value+"<BR>";
      conectar.contenido += "País : "+domicilio+"<BR>";
      conectar.contenido += "Provincia : "+provincia+"<BR>";
      conectar.contenido += "Localidad : "+localidad+"<BR>";
      conectar.contenido += "Prefijo : "+prefijo+"<BR>";
      conectar.contenido += "Telefono : "+telefono+"<BR>";
      conectar.contenido += "Email : "+email+"<BR>";
      conectar.contenido += "Mensaje : "+mensaje+"<BR>";
      conectar.contenido += "Como nos conoció : "+_root.origen.value+"<BR>";
      conectar.contenido += "Detalle Cual : "+cual+"<BR>";
      conectar.origen = origen;
      conectar.email_destino = destino;
      conectar.aliasdecorreo = servidor;
      conectar.email = email;
      conectar.asunto = asunto;
      responder("Enviando mensaje");
      conectar.sendAndLoad(archivo, conectar, "POST");
   }
}
conectar.onLoad = function() {
   responder(this.mensaje);
};
stop();


EL CODIGO QUE TENGO EN EL BOTON , QUE TIENE LA ACCION PARA QUE BORRE TODO LUEGO DE MANDAR, PERO YO QUIERO QUE SI ALGO NO SE COMPLETO, NO SE BORRE TODO.. SOLO SI EL FORMULARIO SE MANDA CORRECTAMENTE

Código :

on (release) {
   // para enviar el mail usando este asp, el servidor NT debe tener instalado ASPMail
   conectarse("11_003B.php");
   apellido = "";
   elnombre = "";
   domicilio = "";
   localidad = "";
   provincia = "";
   prefijo = "";
   telefono = "";
   email = "";
   mensaje = "";
   cual = "";
   quienes.selectedIndex = 0;
   origen.selectedIndex = 0;
   
}


Y EL CODIGO DEL PHP POR LAS DUDAS.. PERO ES MUY SIMPLE.. SOLO LEVANTA LOS DATOS Y LOS MANDA POR MAIL...

Código :

<? 
       $destino = $email_destino;
       $asunto2 = $asunto;
   
       $encabezados = "From: <$email_destino> \n";
       $encabezados .= "Reply-To: <$email_destino> \n";
       $cuerpo = "$contenido\n";
       mail($destino, $asunto2, $cuerpo, "Content-type: text/html\n". $encabezados) or die ("&mensaje=No se pudo procesar el formulario");

   echo "mensaje=El formulario ha sido procesado correctamente";
?>


BUENO.. NADA MAS GRACIAS DE ANTEMANO

Por percepto

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 11 Feb 2009 01:37 pm
El botón está limpiando el formulario haya o no errores, por ejemplo:

apellido = "";
...

Mueve todas esas líneas debajo de donde dice

responder("Enviando mensaje");

En la función conectarse

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Feb 2009 02:34 pm
Excelente !!!! muchas gracias .. funciona perfecto....

si no es mucha molestia.. hay forma de que si no completaron dos campos... me diga al mismo tiempo todo lo que falta completar ? actualmente menciona de a uno...
Si no.. no hay problema.. con esto ya me solucionaste el problema...
gracias nuevamente

Por percepto

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 11 Feb 2009 03:06 pm
Lo usual: dos arrays, uno con las variables, otro con los mensajes de error, un tercero donde vas poniendo los mensajes de error si la variable no existe. Luego armas el mensaje con todo lo del tercer array.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Feb 2009 05:18 pm
Muchas gracias jorge !!!!

Por percepto

46 de clabLevel



 

msie7

 

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