2014-01-03 7 views
0

Я завязывания послать некоторые значения после того, как действие, это мой код:Я не могу сделать работу OnComplete attributte

<a4j:commandButton styleClass="button default" value="#{msg['cat.base.gdb.compte.valid']}" action = "validar" oncomplete = "javascript:document.forms['form_0'].enviaDades.click();" /> 
      <h:commandButton type="submit" styleClass="button default" value="#{msg['cat.base.gdb.canviar.pais']}" action="canviPais" /> 

        <a4j:commandLink styleClass="button default" id="enviaDades" onclick="javascript:actualitzarFormulariGDB(
         '#{gdbBB.retorn.ideef}', 
         '#{gdbBB.retorn.ibanElectronic}', 
         '#{gdbBB.retorn.ibanPaper}', 
         '#{gdbBB.retorn.bic}');" value = "Això és una prova" /> 

действие, кажется, работает отлично, и если я просмотреть код страницы, на значения имеют изменения, но неполный не работает, что здесь происходит?

ty.

+0

Можете ли вы объяснить, что именно вы хотите достичь, используя этот код? –

ответ

1

Из doc (OnComplete):

метод на стороне клиента сценарий будет называться после того, как DOM обновляется

В вашем случае DOM не обновляется, так как вы определили action="validar" , это приведет к перенаправлению страницы. Вы используете a4j:commandButton, как обычный h:commandButton.

+0

ty для ответа, но я не понимаю, что вы говорите ... так что такое решение? – ZaoTaoBao

+0

@ ZaoTaoBao вы меняете страницу, и вы хотите выполнить щелчок кнопки 'enviaDades' ... вы не можете обойти оба. Чего вы пытаетесь достичь? –

0

Наконец я сделать это Soth как that..i don'e знает, если это лучшее решение ...

<script type="text/javascript">//onload page become to work 
      <!-- 
     var myvar=setInterval('prepararDadesRetorn()', 100); 
     --> 
</script> 



       <div class="right"> 
        <h:commandButton type="submit" styleClass="button default" value="#{msg['cat.base.gdb.compte.valid']}" action = "validar"/>      
        <h:commandButton type="submit" styleClass="button default" value="#{msg['cat.base.gdb.canviar.pais']}" action="canviPais" /> 
        <h:commandButton styleClass="button" value ="#{msg['cat.base.gdb.sortir']}" style="display:inline;" onclick="javascript:window.close();"/>      
       </div> 

      <script type="text/javascript"> 
      <!--  
       function prepararDadesRetorn() { 
        if('#{gdbBB.compteValid}'== 'true'){ 
       actualitzarFormulariGDB(
        '#{gdbBB.retorn.ideef}', 
        '#{gdbBB.retorn.ibanElectronic}', 
        '#{gdbBB.retorn.ibanPaper}', 
        '#{gdbBB.retorn.bic}');    
       } 
       } 
      --> 
     </script> 

если проверка правильно ли я отправить значение в другую форму с булевым состоянием .. ty.