Actualizar campo Fecha al pulsar sobre un checkbox


([N1] integra2013) #1

Hola a todos, he estado buscando una solución pero no he sido capaz de encontrarla.
Tengo un formulario donde muestro un checkbox asociado a un campo booleano llamado “cerrado”. Cuando marco este checkbox se activa un campo tipo fecha donde selecciono la fecha de cierre. Lo que necesito es que cuando desmarque el checkbox el campo fecha se ponga en blanco (borre su contenido) y que lo ponga inacitvo.
La parte de ponerlo activo o inactivo lo tengo solucionado, pero si seleccione el checkbox y seleciono una fecha, al deseleccionar el checkbox el campo fecha se desactiva pero se queda con el valor que tenía y no borra el contenido del campo, por lo que aunque aparezca el registro como no cerrado, la fecha de cierre si aparece.

No se si me he explicado bien… espero que si y podais ayudarme.

Gracias a todos.


([N3] pacosatu) #2

Hola integra2013.

Tienes 2 formas de hacerlo:

  • en el lado servidor con un Trigger a la hora de guardar el registro que compruebe el valor del campo “cerrado” y actualice en consecuencia el campo “fecha_de_cierre”

  • en el lado cliente capturando el evento “Value Changed” del Checkbox asociado al campo “cerrado” y por código:
    if cerrado = 0
    modificar campo (FECHA, “”)

Creo que esto funcionará
Saludos
Paco Satué


([N1] integra2013) #3

Muchisimas gracias por tu ayuda… me ha conducido a la solución. La copio aquí para dos cosas… una por si le sirve a alguién más y otra porque aunque funciona no se si será la forma correcta de hacerlo:

Lo que he hecho ha sido generar un manejador de evento dentro del formulario, para que al pulsar el boton de aceptar compruebe el estado del checkbox y si este es igual a 0 (es decir no esta seleccionado), borre el contenido del campo fecha.

dentro del manejador de evento:
Declaro un if que comprueba si el valor del checkbox es 0
en caso afirmativo le digo que modifique el valor del campo fecha y lo ponga en 0
y le especifico interfaz:aceptar

Luego al boton del formulario le decimos que ejecute el modificador del evento al ser pulsado.

Con esto me ha funcionado perfectamente…

Denuevo muchas gracias seh.