Есть у меня такая кнопка:
<apex:commandButton action="{!SaveCh}" value="Save" onclick="edit()"/>
Есть у меня такая кнопка: [code]<apex:commandButton action="{!SaveCh}" value="Save" onclick="edit()"/>[/code] Метод SaveCh делает крутую работу, а edit() обновляет страницу и закрывает попап окно. Затык такой: метод SaveCh не успевает закончить работу, а edit() ее уже обновил. В итоге Юзер не видит изменённых данных. Пытался задать js таймаут перед рефрешем страницы, но на SF почему-то эта функция не работает. Как бы это решить?
[quote="DevNull"]Есть у меня такая кнопка: [code]<apex:commandButton action="{!SaveCh}" value="Save" onclick="edit()"/>[/code] Метод SaveCh делает крутую работу, а edit() обновляет страницу и закрывает попап окно. Затык такой: метод SaveCh не успевает закончить работу, а edit() ее уже обновил. В итоге Юзер не видит изменённых данных. Пытался задать js таймаут перед рефрешем страницы, но на SF почему-то эта функция не работает. Как бы это решить?[/quote] Пробую oncomplete вместо Onclick
Сделал немного по другому:
<apex:commandButton action="{!SaveCh}" value="Save" rerender="jk" status="status56"/>
<apex:actionStatus id="status56" onstop="window.opener.parent.location.href='/{!taskId}'; window.close();" />
Сделал немного по другому: [code] <apex:commandButton action="{!SaveCh}" value="Save" rerender="jk" status="status56"/> <apex:actionStatus id="status56" onstop="window.opener.parent.location.href='/{!taskId}'; window.close();" /> [/code] Работает шикарно!
<apex:commandButton action="{!save}" value="Save" id="theButton" oncomplete="edit();"/>
[quote="Gres"]Пробуй oncomplete вместо Onclick[/quote] вот это работает шикарно [code]<apex:commandButton action="{!save}" value="Save" id="theButton" oncomplete="edit();"/>[/code] [quote="DevNull"]Сделал немного по другому: [code] <apex:commandButton action="{!SaveCh}" value="Save" rerender="jk" status="status56"/> <apex:actionStatus id="status56" onstop="window.opener.parent.location.href='/{!taskId}'; window.close();" /> [/code] Работает шикарно![/quote] а это немного не так шикарно как хотелось бы) [img]http://www.liveinternet.ru/images/attach/1/3148/3148787_Indus.jpg[/img]
[quote="Maxim Elets"]а это немного не так шикарно как хотелось бы) [/quote] Обоснуй? Если это индусский код, то я хочу знать почему? А если я лоаудер хочу повесить на нажатие этой кнопки?
[quote="DevNull"][quote="Maxim Elets"]а это немного не так шикарно как хотелось бы) [/quote] Обоснуй? Если это индусский код, то я хочу знать почему? А если я лоаудер хочу повесить на нажатие этой кнопки?[/quote] ну изначально о статусе никто не говорил, но всеже не зря придумали oncomplete
Есть у меня такая кнопка:<apex:commandButton action="{!SaveCh}" value="Save" onclick="edit()"/>
Метод SaveCh делает крутую работу, а edit() обновляет страницу и закрывает попап окно.
Затык такой: метод SaveCh не успевает закончить работу, а edit() ее уже обновил. В итоге Юзер не видит изменённых данных.
Пытался задать js таймаут перед рефрешем страницы, но на SF почему-то эта функция не работает.
Как бы это решить?
[quote="DevNull"]Есть у меня такая кнопка: [code]<apex:commandButton action="{!SaveCh}" value="Save" onclick="edit()"/>[/code] Метод SaveCh делает крутую работу, а edit() обновляет страницу и закрывает попап окно. Затык такой: метод SaveCh не успевает закончить работу, а edit() ее уже обновил. В итоге Юзер не видит изменённых данных. Пытался задать js таймаут перед рефрешем страницы, но на SF почему-то эта функция не работает. Как бы это решить?[/quote] Cтандартная проблема стандартное решение вообще фантазировать не надо )) Называется ActionFunction ВСЕ.
Метод SaveCh делает крутую работу, а edit() обновляет страницу и закрывает попап окно.
[quote="DevNull"]Метод SaveCh делает крутую работу, а edit() обновляет страницу и закрывает попап окно. [/quote] Типичная задача для oncomplete - у меня наверное в 90% случаев он используется при ajax.