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

Formulario valida campos solo una vez

Estas en el tema de Formulario valida campos solo una vez en el foro de Flash y Actionscript en Foros del Web. Tengo un problema señores del foro a ver si alguien me ayuda: Cuando entro al formulario flash y quiero enviarlo sin llenar algun campo, este ...
  #1 (permalink)  
Antiguo 25/01/2005, 15:51
phg
 
Fecha de Ingreso: agosto-2004
Mensajes: 18
Antigüedad: 13 años, 3 meses
Puntos: 0
Formulario valida campos solo una vez

Tengo un problema señores del foro a ver si alguien me ayuda:

Cuando entro al formulario flash y quiero enviarlo sin llenar algun campo, este me devuelve un mensage "DATO NECESARIO", luego pongo "BORRAR", luego ingreso el solo el mail y ENVIAR, (AQUI EL ERROR)se envia sin los demas datos; osea que validad solo la primera vez luego te envia los campos asi esten vacios, quisiera que alguien me ayude talves falta algo en el codigo:

Codigo flash:
enviar = function () {
if (email_txt.text.length && nombre_txt.length && telefonos_txt.length && direccion_txt.length && titulo_txt.length && mensaje_txt.length) {
if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {
form_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
form_lv.telefonos = telefonos_txt.text;
form_lv.direccion = direccion_txt.text;
form_lv.mail = email_txt.text;
form_lv.mensaje = mensaje_txt.text;
form_lv.titulo = titulo_txt.text;
form_lv.sendAndLoad("send.php", form_lv, "POST");
mensaje_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
telefonos_txt.text = " ";
direccion_txt.text = " ";
email_txt.text = "";
titulo_txt.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje_txt.text = "Mensaje enviado.";
nombre_txt.text = "";
telefonos_txt.text = " ";
direccion_txt.text = " ";
email_txt.text = "";
titulo_txt.text = "";
} else {
mensaje_txt.text = "Problemas con el servidor\nIntentalo de Nuevo";
}
};
} else {
email_txt.text = "Correo Invalido";
}
} else {
email_txt.text = "Dato Necesario";
nombre_txt.text = "Dato Necesario";
telefonos_txt.text = "Dato Necesario";
direccion_txt.text = "Dato Necesario";
titulo_txt.text = "Dato Necesario";
mensaje_txt.text = "Dato Necesario";
}
};

if (email_txt.text.length && nombre_txt.length && telefonos_txt.length && direccion_txt.length && titulo_txt.length && mensaje_txt.length)

if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {

form_lv_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
form_lv.telefonos = telefonos_txt.text;
form_lv.direccion = direccion_txt.text;
form_lv.mail = email_txt.text;
form_lv.mensaje = mensaje_txt.text;
form_lv.titulo = titulo_txt.text;
form_lv.sendAndLoad("send.php", form_lv, "POST");
mensaje_txt.text = "Enviando Mensaje..";
}

form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje_txt.text = "Mensaje enviado.";
nombre_txt.text = " ";
telefonos_txt.text = " ";
direccion_txt.text = " ";
email_txt.text = " ";
titulo_txt.text = " ";
} else {
mensaje_txt.text = "Problemas con el servidor\nIntentalo de Nuevo";
}
};

borrar = function () {
nombre_txt.text = " ";
telefonos_txt.text = " ";
direccion_txt.text = " ";
email_txt.text = " ";
mensaje_txt.text = " ";
titulo_txt.text = " ";
};

enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;

Codigo php:

<?php
if(isset($_POST["nombre"]) && isset($_POST["titulo"]) && isset($_POST["telefonos"]) && isset($_POST["direccion"]) && isset($_POST["mail"]) && isset($_POST["mensaje"]) ){
$fecha = date("d/m/y H:i a");
$mymail = "[email protected]";
$subject = "Formulario web";
$contenido = "Nombre: " . $_POST["nombre"]."\n";
$contenido .= "Empresa: " . $_POST["titulo"]."\n";
$contenido .= "Teléfonos: " . $_POST["telefonos"]."\n";
$contenido .= "Dirección: " . $_POST["direccion"]."\n";
$contenido .= "---------------------------\n";
$contenido .= "Consultas y/o Cotizaciones:\n";
$contenido .= "---------------------------\n";
$contenido .= $_POST["mensaje"]."\n\n";
$contenido .= "---------------------------\n";
$contenido .= "Enviado >> ".$fecha;
$header = "From:".$_POST["mail"]."\nReply-To:".$_POST["mail"]."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mymail, $subject, $contenido ,$header);
echo "&estatus=ok&";
}
?>


Sera que me falta algo en el codigo, prueben y ayudenme..........

Saludos
|phg|

Última edición por phg; 25/01/2005 a las 16:30
  #2 (permalink)  
Antiguo 25/01/2005, 16:59
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
Este codigo es mio.. Osea que lo copiaste y pegaste, Esta bien por eso lo publique. Pero que pidas ayuda sobre algo que ya tomaste.. umm bueno aun estoy de acuerdo, siempre y cuando te hayas esforzado por solucionar el problema. Pero veo que no es el caso..

Vamos a ver que es lo que pasa...

La compribacion esta asi

Código:
if (email_txt.text.length && nombre_txt.length && telefonos_txt.length && .....);
email_txt.text.length, la propiedad .length nos indica que haya por lo menos un caracter en el campo ¿Estamos de acuerdo', ok la funcion borrar hace lo siguiente:

Código:
borrar = function () {
	nombre_txt.text = " ";
	telefonos_txt.text = " ";
	direccion_txt.text = " ";
	email_txt.text = " ";
	mensaje_txt.text = " ";
	titulo_txt.text = " ";
};
Es decir pone solo un espacio en los campos de texto, un espacio es = a un caracter ¿Correcto? es por eso que la validacion lo envia por efectivamente hay por lo menos un caracter en los campo, entonces la solucion es:

1.- cambiar la funcion borrar dejandola asi:

Código:
borrar = function () {
	nombre_txt.text = "";
	telefonos_txt.text = "";
	direccion_txt.text = "";
	email_txt.text = "";
	mensaje_txt.text = "";
	titulo_txt.text = "";
};
o cambiar la comprobacion

Código:
if (email_txt.text.length > 3 && ...) ;
haciendo que el campo tenga por lo menos 3 caracteres en este caso...

Queda Claro..

Ahora ya te habien respondido en un post anterior y la solucion era tambien valida. Asi que pon un poco mas de empeño para entender los scripts que copias y no seas solo un recolector de codigo..

PD. No dupliques tus post..

Saludos!!
  #3 (permalink)  
Antiguo 26/01/2005, 11:10
phg
 
Fecha de Ingreso: agosto-2004
Mensajes: 18
Antigüedad: 13 años, 3 meses
Puntos: 0
La vierdad es que estuve buscando ejemplos de formularios por toda la web y no me acordaba de donde saque este, por eso no puse de quien era.
Ahora, si es tuyo te felicito y agradezco por poner estas ayudas a los que no sabemos codigos todavia.
Sabiendo casi nada aumente campos y envie el mensaje, y la ayuda anterior estuvo descrita para alguien que supiera de codigo, como yo no lo hize, solo lo copie y modifique; entonces no lo entendi. Ahora que me explicas detalladamente eso de los espacios ya entendi.

Creo estos foros estan para eso para preguntar y si alguien pone algo para la gente se baje entonces no deberia luego renegar las preguntas de los novatos sobre los codigos copiados. Todos empiezamos novatos.

Mencionado esto quisiera que me ayudes a validad el campo "telefono" para que ingresen numeros y no letras.

Gracias por tu tiempo.

Saludo
|phg|
  #4 (permalink)  
Antiguo 07/04/2006, 09:11
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 11
muy buena solucion la de utilizar la propiedad length, me facilito las cosas. grax tmeister
__________________
-- Nunca te des por vencido, aún vencido -- Web
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




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