[英]I can't make work 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" />
该操作似乎工作正常,并且如果我查看代码页,则值已更改,但是oncomplete不起作用,在这里发生了什么?
TY。
从文档 (不完整):
DOM更新后要调用的客户端脚本方法
在您的情况下,由于您定义了action="validar"
,因此不会更新DOM,而是以页面重定向结束。 您正在使用a4j:commandButton
就像普通的h:commandButton
。
最终我像那样..我不知道这是更好的解决方案...
<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>
如果验证正确,则将值发送到具有布尔条件的另一种形式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.