Hola,
Tenés que tener en cuenta donde ejecuta cada cosa. Al poner el procedimiento estás forzando al evento a ejecutar en el servidor, por esta razón el javascript se ejecuta recién después de que el control vuelve al browser (cuando el evento ya terminó de ejecutar).
Alternativas:
Pablo Moleri
Tenés que tener en cuenta donde ejecuta cada cosa. Al poner el procedimiento estás forzando al evento a ejecutar en el servidor, por esta razón el javascript se ejecuta recién después de que el control vuelve al browser (cuando el evento ya terminó de ejecutar).
Alternativas:
- Pedir siempre confirmación:
Event Start
BtnConfirm.JSEvent('onclick', "confirm('¿Está seguro?')")
EndEvent - Manejar estados: la primera vez setéas una variable oculta en pantalla y le mostrás un mensaje al usuario pidiendo que vuelva a confirmar, ej:
Event Start
BtnConfirm.caption = "Validar"
EndEvent
Event Enter
&CodError = VerificarFactura.udp(&Anio, &Mes, &OsId, &CodError)If &CodError = 5 And &validado = falsemsg('Advertencia, esta factura tiene Código 5 vuelva a confirmar')
&validado = true
BtnConfirm.caption = "Confirmar"
Endif
If &CodError = 5 And &validado = true
msg("Factura confirmada")
&validado = false
BtnConfirm.caption = "Validar"
Endif
EndEvent
Pablo Moleri
From: "César Javier Acuña Borobach" <csr.acn@gmail.com>
To: gx-l@gxtech.com.uy, gx-java@gxtech.com.uy
Sent: Martes, 5 de Febrero 2013 15:07:37
Subject: [gx-l] Confirm y Javascript
Hola a todos
To: gx-l@gxtech.com.uy, gx-java@gxtech.com.uy
Sent: Martes, 5 de Febrero 2013 15:07:37
Subject: [gx-l] Confirm y Javascript
Hola a todos
A ver si me pueden ayudar con este comportamiento que no logro entender...
Se trata de un web panel donde, para realizar determinada acción estoy solicitando al usuario confirmación usando javascript. (Son mis primeras lineas en Javascript en la vida). Lo hago de esta manera y NO funciona.
&CodError = 0
&CodError = VerificarFactura.udpl(&Anio, &Mes, &OsId, &CodError)
If &CodError = 5
ScriptTxt.Caption = "<script type='text/javascript'>document.getElementById('" + "_Confirmo" + "').value = confirm('Proceed?');</script>"
If &Confirmo
msg('Hacer Algo')
Endif
Endif
Sin embargo si quito la llamada al procedimiento, funciona correctamente (El procedimiento siempre devuelve 5)
Alguien puede echarme una mano, estoy con Genexus X Ev2 y generador Java
Gracias
0 Response to "Re: [gx-l] Confirm y Javascript"
Publicar un comentario