Foros del Web » Programando para Internet » Javascript »

Problema Funcion no me devuelve valor cuando agrego un 2º IF

Estas en el tema de Problema Funcion no me devuelve valor cuando agrego un 2º IF en el foro de Javascript en Foros del Web. Saludos estimados, tengo una funcion que me calcula el contenido en litros de X estanque... nesecito tener varios if dentro de la funcion ya que ...
  #1 (permalink)  
Antiguo 24/08/2012, 17:30
Avatar de thekillerbrain  
Fecha de Ingreso: abril-2012
Mensajes: 22
Antigüedad: 7 años, 4 meses
Puntos: 0
Problema Funcion no me devuelve valor cuando agrego un 2º IF

Saludos estimados, tengo una funcion que me calcula el contenido en litros de X estanque... nesecito tener varios if dentro de la funcion ya que existen al menos 8 grupos de estanques con diferentes medidas y cubicacion ej:

1 al 8 iguales
9 al 22 iguales
23 al 33 iguales... y asi sucesibamente

por ende nesecito que si el estanque X esta dentro del grupo 1 al 8 me realize un calculo sino que pase y verifique el sgte rango hasta que encuentre el de el para realizar el calculo.... aqui les dejo el codigo

Código Javascript:
Ver original
  1. function medida3()
  2. {
  3.     m1 = document.getElementById("c3").value;
  4.     c1 = document.getElementById("cuba").value;
  5.     if (c1 < 9)
  6.     {
  7.         lt1 = '120000';
  8.         m2 = '192';
  9.         t1 = (m2*m1);
  10.         r = lt1-t1
  11.     }
  12.     else
  13.     {
  14.         if (c1 >= 9 && c1 < 23)
  15.         {          
  16.             lt1 = '48746';
  17.             m2 = '95.11';
  18.             t1 = (m2*m1);
  19.             r = lt1-t1
  20.         }
  21.     }
  22.     document.getElementById("l3").value = r;
  23. }

De antemano gracias
  #2 (permalink)  
Antiguo 24/08/2012, 21:23
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 10 años, 3 meses
Puntos: 1485
Respuesta: Problema Funcion no me devuelve valor cuando agrego un 2º IF

buenas...
te menciono lo siguiente a modo didáctico, para que lo analices. básicamente tendrías que seguir repitiendo la estructura del if/else. es decir, dentro de un else creas otro par if/else. es una estructura sintácticamente válida, pero como verás en el segundo ejemplo la estructura se puede simplificar con else if y entenderse el código mucho mejor.

Código:
if(...){
// codigo
} else {
  if(...){
  // codigo
  } else {
    if(...){
    // codigo
    } else {
      // se sigue repitiendo un if/else dentro de cada else
      // codigo
    }
  }
}

// luego de un 'else if' sigue otro 'else if' hasta que tengas todas las condiciones ;
// o termina con un else si quieres permitir un proceso cuando ninguna de las condiciones coincide ;
if(...){
// codigo
} else if(...){
// codigo
} else if(...){
// codigo
} else {
// codigo
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 24/08/2012, 21:42
Avatar de thekillerbrain  
Fecha de Ingreso: abril-2012
Mensajes: 22
Antigüedad: 7 años, 4 meses
Puntos: 0
Respuesta: Problema Funcion no me devuelve valor cuando agrego un 2º IF

Estimado comprendo lo que me quizo decir, el dilema que es que cuando inclui el segundo IF ya no me devuele ningun valor al text

Código Javascript:
Ver original
  1. function medida3()
  2. {
  3.     m1 = document.getElementById("c3").value;
  4.     c1 = document.getElementById("cuba").value;
  5.     if (c1 < 9)
  6.     {
  7.         lt1 = '120000';
  8.         m2 = '192';
  9.         t1 = (m2*m1);
  10.         r = lt1-t1
  11.     }
  12.  
  13.     document.getElementById("l3").value = r;
  14. }

con ese codigo me devolvia el resltado al text... pero al incluir el 2º if no hace ni pio

Código Javascript:
Ver original
  1. if (c1 >= 9 && c1 < 23)
  2.         {          
  3.             lt1 = '48746';
  4.             m2 = '95.11';
  5.             t1 = (m2*m1);
  6.             r = lt1-t1
  7.         }

Etiquetas: devuelve, funcion
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 16:18.