Estoy trabajando con gx 9 web y quiero hacer lo que en las versiones win es el conocido Confirm().
Un ejemplo de esto en win seria preguntarle si esa seguro si quiere realizar determinada acción, entonces el código seria algo así
Confirm("Estas seguro de borrar el archivo?',N)
if confirmed()
// eliminamos el archivo
endif
Bueno en web esto no anda entonces lo que se utiliza es un poco de los eventos html para esto.
Entonces seria algo así, tenemos un botón el cual al cliquearlo queremos que nos pregunte si realmente estamos seguros.
En el evento start ponemos algo asi
btn.JSEvent('onclick',"confirm('Realmente desea ...?')")
donde btn es el nombre del botón
luego en el evento del botón, solamente tenemos que poner el código para eliminar o hacer lo que deseamos.
Esto lo que produce es nos muestra una ventana Windows, en la cual nos pone el texto "Realmente ..." y nos pide que Aceptemos o Cancelemos, y se ejecuta el código del evento solamente si Aceptamos.
Intentare mostrarles todas las cosas que me pasan día a día en mis pruebas, en mi trabajo, etc.
Muy buen artículo. Me he basado en él para enriquecer una guía para migrar aplicaciones GeneXus de escritorio hacia la web utilizando la versión 9.
ResponderEliminarSerán bienvenidas las sugerencias que sirvan para añadir otras incompatibilidades o diferencias entre el ambiente web y el de escritorio, para aportar soluciones a los problemas allí mencionados, o corregir las ideas que ya están documentadas. Espero nuevos comentarios ;o)
¡ Gracias !
Gaston Cancino Eyzaguirre:
ResponderEliminarTambien hay otra forma de hacerlo y es desde un enlace con la etiqueta a href.
EN EL EVENTO START:
form.HeaderRawHTML += 'function eliminar()'
form.HeaderRawHTML += '{'
form.HeaderRawHTML += 'var vf=confirm("¿Esta seguro que desea Eliminar este Proyecto?");'
form.HeaderRawHTML += 'if(vf)'
form.HeaderRawHTML += 'return true;'
form.HeaderRawHTML += 'else'
form.HeaderRawHTML += 'return false;'
form.HeaderRawHTML += '}'
form.HeaderRawHTML += '/script>'
Y POR EJEMPLO EN EL EVENTO REFRESH:
reemplazar "<" por <
&Html += 'td class="links">"<"a href="heliminar.aspx?pry,' + trim(str(PryCod)) + '" onclick="return eliminar();">"<"img src="images/14x14/delete-page-red.gif" border="0" alt="Eliminar" title="Eliminar" />"<"/a>"<"/td>'
Excelente aporte!
ResponderEliminarSe nota que eres de pupilo de Sebastián Colombo
Muchas Gracias
ResponderEliminarEra justo lo que necesitaba, una forma facil y rapida de mostrar el mensaje.
Saludes
necesito que un web panel que esta dentro de otro web panel me devuelva unos parametros y no encuentro la forma pls.... ayuda...
ResponderEliminarNo te sirve manejar variables de session? en el webpanel de adentro las grabas y en el de afuera las lees.
ResponderEliminar