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