Problema con Popup que actualiza la ventana padre


#1

Hola a todos los colegas de lista!
Tengo un caso muy curioso que me esta pasando y creo que el problema es
con
rails… bueno les cuento
tengo un formario donde lo que voy a grabar es Aprobado si o no mas
nada…
son dos radio_button simples… y me graba perfecto… pero cuando el
usuario le da a la opcion de ‘No’ el debe agregar un motivo entonces le
coloco un link que lo que hace es llamar a un popup que carga o muestra
los
diferentes motivos por lo cuales no fue aprobado el alumno.
En ese popup hago una lista como les dije y es un formulario donde cada
motivo tiene un check_box que guarda el id del motivo y al final un
submit_tag el cual al hacer click ejecuta dos instrucciones en
javascript
que lo que hacen es actualizar la ventana padre y luego cierra el popup,
este es el codigo del submit:

<%= submit_tag ‘’, :class => ‘btn_guardar’,
:onclick=>“window.opener.location.reload();window.close();”%>

Ok hasta alli todo bien, lo extraño es que cuando selecciono uno o n
motivos
y le doy al boton el popup se cierra y se actualiza la ventana padre
pero lo
extraño es que no me muestra los motivos que seleccione, reviso en la BD
y
si me los guardo bien, entonces le doy F5 al browser y alli si me
muestra
los motivos que seleccione. que tal? es raro no?

En fin tengo que volver a refrescar la pagina para que me aparezcan los
motivos que habia seleccionado previamente en el popup

alguna idea?

Muchas Gracias


#2

<%= submit_tag ‘’, :class => ‘btn_guardar’,
:onclick=>“window.opener.location.reload();window.close();”%>

No sé si los tiros irán por aquí, pero por si acaso te comento lo que se
me ocurre…

ahí lo que le dices es: nada más pulsar el botón recarga la página y
cierra la ventana

Así que al pulsar, se recarga la ventana padre, y se envía el
formulario a tu acción, pero estás recargando la página primero… por
eso cuando luego recargas a mano sí lo ves.

Si el problema es ése, hay varias soluciones… si usas ajax puedes usar
los callback “complete”, “success”… para ejecutar el javascript una
vez haya acabado la acción remota. Si no usas ajax, puedes hacer, por
ejemplo, que la acción se ejecute normalmente, sin el onclick, y que al
acabar simplemente haga render de una página que hace el reload del padre

Suerte,


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


#3

hola javier gracias por tu respuesta… te informo que me funciono!!!
muchas
gracias de verdad

para que me funcionara hice que la acción se ejecute normalmente, sin el
onclick, y que al
acabar simplemente haga render de una página que hace el reload del
padre,
Tal cual como tu lo indicastes amigo…

Gracias nuevamente

El 9 de enero de 2009 20:11, javier ramirez removed_email_address@domain.invalid
escribió: