Foros del Web » Programando para Internet » Javascript »

la validacion se interrumpe si una sentencia if da verdadero

Estas en el tema de la validacion se interrumpe si una sentencia if da verdadero en el foro de Javascript en Foros del Web. Hola a todos, he decido abrir otro hilo, pues el anterior está muy complicado. OS pongo la función que estoy usando para validar un formulario ...
  #1 (permalink)  
Antiguo 07/02/2014, 08:03
 
Fecha de Ingreso: agosto-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 0
la validacion se interrumpe si una sentencia if da verdadero

Hola a todos, he decido abrir otro hilo, pues el anterior está muy complicado.

OS pongo la función que estoy usando para validar un formulario con onsubmit.Para probar he forzado a que de siempre falso.

Hay una sóla condición destinada a saber si un campo está vacío.

No se porque cuando la condición IF se cumple la función se interrumpe, se devuelve verdadero a las etiquetas form que la llamaron y se envía el formulario con campos vacíos.



<script language="javascript">
function verificar1() {

alert("estoy en la función");

valor3 = document.getElementById("BIEN_SERVICIO_TRES").valu e;
alert("he recogido el campo TREScon longitud=");
alert(valor3.length);

if( valor3.length==0 ) {
ALERT("EL CAMPO TRES ESTÁ VACIO");
ok=false;
alert(ok);}
else{
ok=true;
alert(ok); }

return false;
}
</script>

a esa función se llama así:

<form id = "cambiodebienes" name="cambiodebienes" action="http://localhost/leccionesphp/vercuadrosdetexto.php" method="GET" onSubmit = "return verificar1();" >


SOCORRRO!!!

Gracias
  #2 (permalink)  
Antiguo 07/02/2014, 08:43
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: la validacion se interrumpe si una sentencoa if da verdadero

No existe ninguna funcion llamada ALERT
  #3 (permalink)  
Antiguo 07/02/2014, 14:31
 
Fecha de Ingreso: agosto-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: la validacion se interrumpe si una sentencia if da verdadero

ya l he corregido y lo he puesto en minúsculas:

alert("EL CAMPO TRES ESTÁ VACIO");

se sigue interrumpiendo la función cuando se verifica que el campo 3 es nulo con la condición if( valor3.length==0 ), en ese momento no se dan loa avisos alert(ok) por lo que se que se ha interrumpido sin que haya ningún return true.

Socorro!!!!!!

gracias
  #4 (permalink)  
Antiguo 07/02/2014, 17:09
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: la validacion se interrumpe si una sentencia if da verdadero

Solo por curiosidad, ¿la siguiente línea la has escrito del mismo modo en tu código o fue un error de tipeo al elaborar este hilo?:

Código Javascript:
Ver original
  1. valor3 = document.getElementById("BIEN_SERVICIO_TRES").valu e;

Porque así no está bien, debe ser así:

Código Javascript:
Ver original
  1. valor3 = document.getElementById("BIEN_SERVICIO_TRES").value;

Pero muy aparte de eso, creo que te estás complicando con algo muy sencillo, bastaría con que lo hagas así:

Código Javascript:
Ver original
  1. function verificar1() {
  2.     var valor3 = document.getElementById("BIEN_SERVICIO_TRES").value;
  3.  
  4.     if(!valor3.length) {
  5.         alert("EL CAMPO TRES ESTÁ VACIO");
  6.         return false;
  7.     }
  8.     else{
  9.         return true;
  10.     }
  11. }

Quité las demás alertas porque son un tanto incómodas y no creo que a los usuarios que vayan a utilizar tu aplicación les agrade ver tantas alertas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 07/02/2014 a las 17:16

Etiquetas: formulario, php, validacion, valor
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 06:22.