• Miércoles 20 de Noviembre de 2024, 10:14

Autor Tema:  Recuperar Valores Anteriores  (Leído 1934 veces)

Liliana Lo

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Recuperar Valores Anteriores
« en: Miércoles 16 de Junio de 2004, 23:11 »
0
:hola: Hola a Todos,
Tengo un problemilla que no he podido solucionar, tengo una grilla con una columna que tiene un chulo que cuando se activa calcula un valor resultado que depende de valores ingresados previamente; el problema es que si el chulo está activo no debo permitir que modifiquen los valores que condujeron al valor resultado porque obviamente éste cambiaría; en ese caso debe preguntar si se quiera volver a calcular el valor resultado con los nuevos datos, pero en caso de que el usuario cancele la acción, debo recuperar el valor anterior con el que se calculó el valor de resultado actual.

Intenté guardar el valor con el OnChange pero luego me dí cuenta que cuando se dispara el evento, ya he perdido el valor que contenía la caja.

Con el OnFocus, me cambia el valor guardado dependiendo de la caja donde me posicione, por lo tanto no me sirve tampoco...

He estado tratando de recalcular basandome en el valor resultado, pero tengo casos en los que el valor no es tanto un calculo como una comparación, por ej. en este caso necesito el anterior valor de semana2:

      semanas(no modif)    semanas2(modif)   semanas3(no modif)     chulo  
               41.5                        26                        41.5                        1
               41.5                        25                        25                           1

si semanas2 < 26, entonces semanas3 = semanas
si semanas2 >= 26, entonces semanas3 = semanas2, en este caso sería fácil recuperar el valor anterior porque sería el mismo de semanas3, pero en el primer caso no lo he podido recuperar....

Si alguien me puede dar una idea se lo agradecería muchísimo...

Gracias de antemano....

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Recuperar Valores Anteriores
« Respuesta #1 en: Jueves 17 de Junio de 2004, 11:26 »
0
¿Qué es un chulo?

Liliana Lo

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Recuperar Valores Anteriores
« Respuesta #2 en: Jueves 17 de Junio de 2004, 18:18 »
0
un chulo es una aprobación, es lo que simbolizan los check box.

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Recuperar Valores Anteriores
« Respuesta #3 en: Viernes 18 de Junio de 2004, 10:01 »
0
Ok, si lo he entendido bien creo que podrías utilizar 3 variables globales en las cuáles guardas el valor de semanas, semanas2 y semanas3 en el momento en que realizas el cálculo. En caso de que se cancele la acción sólo tendrías que recuperar esos valores.

Código: Text
  1. var semanas = 0, semanas2 = 0, semanas3 = 0;
  2.  
  3.    function calculo() {
  4.       semanas = document.NOMBREFORMULARIO.NOMBRETEXT.value;
  5.       semanas2 = document.NOMBREFORMULARIO.NOMBRETEXT.value;
  6.       semanas3 = document.NOMBREFORMULARIO.NOMBRETEXT.value;
  7.    }
  8.  
  9.    function cancelar() {
  10.       document.NOMBREFORMULARIO.NOMBRETEXT.value = semanas;
  11.       document.NOMBREFORMULARIO.NOMBRETEXT.value = semanas2;
  12.       document.NOMBREFORMULARIO.NOMBRETEXT.value = semanas3;
  13.    }
  14.  


A ver si te sirve esa opción.

Salu2,
Avalon

Liliana Lo

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Recuperar Valores Anteriores
« Respuesta #4 en: Viernes 18 de Junio de 2004, 16:40 »
0
Lo que no me queda claro es el evento...además, siguiendo con el ejemplo, si yo almaceno en las 3 variables los valores anteriores del primer registro...en que momento guardo los valores de los otros registros, la cantidad de registros que puedo tener es ilimitada....si te entendí bien, no podría yo determinar cuantas variables temporales necesitaría para almacenar los valores anteriores....
Saludos y Gracias..

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Recuperar Valores Anteriores
« Respuesta #5 en: Viernes 18 de Junio de 2004, 17:22 »
0
Bueno, es que en tu primer mensaje no mencionas que quieras guardar los valores de ilimitados registros sinó únicamente del último registro para poder volver a esa situación en caso de que se cancele la acción. Si lo que quieres es guardar los valores de todos los registros puedes hacerlo con arrays.

Código: Text
  1. var semanas = new Array();
  2. var semanas2 = new Array();
  3. var semanas3 = new Array();
  4.  
  5. var indice = 0;
  6.  
  7.    function calculo() {
  8.       semanas[indice] = document.NOMBREFORMULARIO.NOMBRETEXT.value;
  9.       semanas2[indice] = document.NOMBREFORMULARIO.NOMBRETEXT.value;
  10.       semanas3[indice] = document.NOMBREFORMULARIO.NOMBRETEXT.value;
  11.       indice++;
  12.    }
  13.  
  14.    function cancelar() {
  15.       indice--;
  16.       document.NOMBREFORMULARIO.NOMBRETEXT.value = semanas[indice];
  17.       document.NOMBREFORMULARIO.NOMBRETEXT.value = semanas2[indice];
  18.       document.NOMBREFORMULARIO.NOMBRETEXT.value = semanas3[indice];
  19.   }
  20.  

Cuando haces el cálculo incrementas el índice y cuando cancelas la acción lo decrementas para obtener los valores guardados anteriormente.


Salu2,
Avalon

Liliana Lo

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Recuperar Valores Anteriores
« Respuesta #6 en: Martes 22 de Junio de 2004, 16:56 »
0
Entiendo...voy a probar con tu idea de los vectores....Muchas Gracias....luego te cuento cómo me fué....