我无法完成完整属性的工作

时间:2014-01-03 08:23:41

标签: javascript jsf ajax4jsf

我想在动作后发送一些值,这是我的代码:

<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" />

该操作似乎完美无缺,如果我查看代码页,值会发生变化,但是oncomplete不起作用,这里发生了什么?

TY。

2 个答案:

答案 0 :(得分:1)

来自doc(oncomplete):

  

更新DOM后要调用的客户端脚本方法

在您的情况下,DOM未更新,因为您定义了action="validar",这将以页面重定向结束。您使用的是a4j:commandButton,如普通h:commandButton

答案 1 :(得分:0)

最后,我这样做......我不知道是否是更好的解决方案...

<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。

相关问题