【问题标题】:I can't make work oncomplete attributte我无法处理完整属性
【发布时间】:2014-01-20 21:01:09
【问题描述】:

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

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

【问题讨论】:

  • 你能解释一下你想用这段代码实现什么吗?

标签: javascript jsf ajax4jsf


【解决方案1】:

来自doc(未完成):

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

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

【讨论】:

  • 回答,但我不明白你在说什么......那么解决方案是什么?
  • @ZaoTaoBao 你正在改变页面,你想执行按钮enviaDades的点击...你不能同时做。你想达到什么目的?
【解决方案2】:

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

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

如果验证正确,我将值发送到另一个带有布尔条件的表单。 太棒了。

【讨论】:

    猜你喜欢
    • 2011-06-13
    • 1970-01-01
    • 2016-06-24
    • 2014-05-07
    • 2018-10-02
    • 2021-07-15
    • 1970-01-01
    • 2013-01-27
    • 2016-10-29
    相关资源
    最近更新 更多