在PrimeFaces中更新某些组件时自动调用javascript

时间:2014-11-05 15:55:11

标签: javascript jsf jsf-2 primefaces

Primefaces 5

我有以下示例:

<script>

function init () { 
  $("#myspan").doSomething;
}
</script>

<h:form rendered="some condition">
  <span id="myspan" />

</h:form>

如何在每次更新表单时自动调用init()?

2 个答案:

答案 0 :(得分:5)

替代解决方案是使用<p:remoteCommand autoRun='true'>

<script>

function init () { 
  $("#myspan").doSomething;
}
</script>

<h:form rendered="some condition">

  <span id="myspan" />
  <p:remoteCommand autoRun="true" oncomplete="init();" />
</h:form>

在Ali的解决方案中,<script>标记先前被称为<p:remoteComand>的解决方案。如果已向用户显示输出,则调用remoteCommand。

答案 1 :(得分:4)

要重新运行脚本,只需重新呈现调用它的标记即可。假设表单在“更新”时重新呈现,这将执行:

<script>

function init () { 
  $("#myspan").doSomething;
}
</script>

<h:form rendered="some condition">
  <script type="text/javascript">init()</script>
  <span id="myspan" />

</h:form>