Foros del Web » Programando para Internet » Javascript »

If anidados con validacion

Estas en el tema de If anidados con validacion en el foro de Javascript en Foros del Web. Hola estuve buscando en mis temas anteriores creí ya haber echo esta pregunta antes pero no la encontré (dejavù), bueno comienzo este tema. Tengo unos ...
  #1 (permalink)  
Antiguo 13/08/2009, 13:13
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
If anidados con validacion

Hola estuve buscando en mis temas anteriores creí ya haber echo esta pregunta antes pero no la encontré (dejavù), bueno comienzo este tema.

Tengo unos if's que estan verificando 4 campos, todos los if hacen bien sus funciones, pero cuarto campo es avalado por el if, envia los datos aun que cualquiera de los otros tres campos estenten mal. osea que este campo es medio individualista jaja (disculpen mi mal chiste) pero bueno esa es la cuestio voy a poner el codigo:

Código js:
Ver original
  1. if(!validaNombre(nombre)){
  2.         alert("El nombre ingresado contiene caracteres o longitud invalida.");
  3.         boton.disabled=true; document.sumar1.okay1.checked = false;
  4.         document.sumar1.nombre.style.backgroundColor="#FFD2DB";
  5.         document.getElementById("error").innerHTML="";
  6.     }
  7.     if(!validaMatricula(matricula)){
  8.         alert("La matricula ingresada contiene caracteres o longitud invalida.");
  9.         boton.disabled=true; document.sumar1.okay1.checked = false;
  10.         document.sumar1.matricula.style.backgroundColor="#FFD2DB";
  11.         document.getElementById("error").innerHTML="";
  12.     }
  13.     if(document.sumar1.total1.value=='0'){
  14.         alert("La cantidad del deposito debe ser diferente a cero.");
  15.         boton.disabled=true; document.sumar1.okay1.checked = false;
  16.         document.sumar1.total1.style.backgroundColor="#FFD2DB";
  17.         document.getElementById("error").innerHTML="";
  18.     }
  19.     valora=eliminaEspacios(valora);
  20.     if(!validaIngreso(valora))
  21.     {
  22.         alert("El folio ingresado contiene caracteres o longitud invalida.");
  23.         boton.disabled=true; document.sumar1.okay1.checked = false;
  24.         document.sumar1.folio.style.backgroundColor="#FFD2DB";
  25.         document.getElementById("error").innerHTML="";
  26.     }
  27.     else
  28.     {..................ENVIAR LOS DATOS..................}

osea si validaIngreso es correcto envia el formulario asi como este, en los otros campos solo se limitan a mandar sus mensajes de alerta que les puse y eso solo por el flujo del codigo (que estan antes que el cuarto if) pero aun asi se lo pasa por la galleta y se graban los datos.

como arreglo esto de manera, que si un campo no cumple el requisito no envie nada?
  #2 (permalink)  
Antiguo 13/08/2009, 13:25
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: If anidados con validacion

Utiliza:

Código javascript:
Ver original
  1. if (!validaNombre(nombre)) {
  2. ...
  3. }
  4. else if (!validaMatricula(matricula)) {
  5. ...
  6. }
  7. else if (document.sumar1.total1.value=='0') {
  8. ...
  9. }
  10. else if (!validaIngreso(valora)) {
  11. ...
  12. }
  13. else {
  14. // ENVIAR LOS DATOS
  15. }
  #3 (permalink)  
Antiguo 13/08/2009, 14:30
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: If anidados con validacion

Hola de nuevo goyo, si ya lo intente pero me manda el siguiente error

Cita:
Detalles de error de página web

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)
Fecha: Thu, 13 Aug 2009 20:26:22 UTC


Mensaje: Syntax error
Línea: 351
Carácter: 2
Código: 0
URI: js/action-ZCTec.js
se que la sintaxis es correcta pero la linea de error es:

Código js:
Ver original
  1. if(!validaNombre(nombre)){
  2.         alert("El nombre ingresado contiene caracteres o longitud invalida.");
  3.         boton.disabled=true; document.sumar1.okay1.checked = false;
  4.         document.sumar1.nombre.style.backgroundColor="#FFD2DB";
  5.         document.getElementById("error").innerHTML="";
  6.     }
  7.     else if(!validaMatricula(matricula)){
  8.         alert("La matricula ingresada contiene caracteres o longitud invalida.");
  9.         boton.disabled=true; document.sumar1.okay1.checked = false;
  10.         document.sumar1.matricula.style.backgroundColor="#FFD2DB";
  11.         document.getElementById("error").innerHTML="";
  12.     }
  13.     valora=eliminaEspacios(valora);
  14.     else if(!validaIngreso(valora))        // <---------------- ESTA ES LA 351
  15.     {
  16.         alert("El folio ingresado contiene caracteres o longitud invalida.");
  17.         boton.disabled=true; document.sumar1.okay1.checked = false;
  18.         document.sumar1.folio.style.backgroundColor="#FFD2DB";
  19.         document.getElementById("error").innerHTML="";
  20.     }
  21.     else if(document.sumar1.total1.value=='0'){
  22.         alert("La cantidad del deposito debe ser diferente a cero.");
  23.         boton.disabled=true; document.sumar1.okay1.checked = false;
  24.         document.sumar1.total1.style.backgroundColor="#FFD2DB";
  25.         document.getElementById("error").innerHTML="";
  26.     }
  27.     else
  28.     {...}
  #4 (permalink)  
Antiguo 13/08/2009, 14:43
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: If anidados con validacion

Ocupas remover o mover hacia otro lado (quiza adentro de una funcion) la linea:

Código HTML:
valora=eliminaEspacios(valora);
  #5 (permalink)  
Antiguo 13/08/2009, 14:48
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: If anidados con validacion

Ok lo voy a intentar y comento, gracias!
  #6 (permalink)  
Antiguo 13/08/2009, 16:20
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: If anidados con validacion

Hola de nuevo goyo, pues si mivi esa linea antes del primer if y me dejo continuar con el flujo, aun no pruebo la validacion por que me surgio otro problema, se ve censillo pero ya volte de cabeza la computadora y nada.

resulta que estoy usando un conjunto de radiobotones en cada formulario, le puse un if para que me mande el valor seleccionado, este if esta fuera de la funcion que recoje los datos para enviarlos a la base de datos.

esta es la funcion que yo hice para que recoja el valor seleccionado de cada grupo de radio botones.

Código js:
Ver original
  1. function darValor(turno) {
  2.     if (turno.checked==true&&turno2.checked==true&&turno3.checked==true&&turno4.checked==true&&turno5.checked==true&&turno6.checked==true&&turno7.checked==true&&turno8.checked==true){  
  3.         document.getElementById('turno').value=turno.value =
  4.         document.getElementById('turno2').value=turno.value =
  5.         document.getElementById('turno3').value=turno.value =
  6.         document.getElementById('turno4').value=turno.value =
  7.         document.getElementById('turno5').value=turno.value =
  8.         document.getElementById('turno6').value=turno.value =
  9.         document.getElementById('turno7').value=turno.value =
  10.         document.getElementById('turno8').value=turno.value;
  11.     }
  12. }

y esta es la linea que se supone recojeria el valor del radio boton del formulario señalado por el la funcion.

Código js:
Ver original
  1. function nuevoEvento(evento)
  2.        
  3. {
  4.     var divMensaje=document.getElementById("error");
  5.  
  6.     if(evento=="ingreso")
  7.     {
  8.         var turno=document.getElementById("turno6").value;
  9.     }

En realidad yo veo esta linea innesesaria ya que desde la funcion darValor estoy llamando el valor del campo seleccionado entonces yo pienso que seria reemplazar var turno=document.getElementById("turno6").value; por var turno=="turno" o algo asi, pero no se si este bien esa sintaxis o cual seria la correcta?
  #7 (permalink)  
Antiguo 13/08/2009, 21:37
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: If anidados con validacion

la verificasion ya quedo perfecta pero ahora tengo este problema, alguna sugerencia hay algo para usar id multiple en document.getElementById??? algo como document.getElementById("valo1","valo2")

heelpp!
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 18:44.