Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用A4J,如何重新加载javascript函数,并在重新加载后调用它?_Javascript_Jsf_Richfaces_Ajax4jsf - Fatal编程技术网

使用A4J,如何重新加载javascript函数,并在重新加载后调用它?

使用A4J,如何重新加载javascript函数,并在重新加载后调用它?,javascript,jsf,richfaces,ajax4jsf,Javascript,Jsf,Richfaces,Ajax4jsf,例如,我试过 <a4j:region id="scriptSuggested" > <f:verbatim> <script> reallyUpdateIt = function () { // javascript code that changes after aj4 ajax call is triggered } </script> </f:verbatim> <a4j:

例如,我试过

<a4j:region id="scriptSuggested" >
<f:verbatim>
<script>
  reallyUpdateIt = function () {
       // javascript code that changes after aj4 ajax call is triggered
      }
    </script>
   </f:verbatim>
    <a4j:jsFunction reRender="scriptSuggested" ignoreDupResponses="true" ajaxSingle="true" name="updateSuggestionValues" action="#{bean.action}" oncomplete="reallyUpdateIt();">
        <a4j:actionparam name="userInput" assignTo="#{bean.input}" />
    </a4j:jsFunction>
</a4j:region>
他将要采取行动

#{bean.action}
然后它将重新命名区域
scriptsugged
,最后将调用
reallyUpdateIt()

除了更新
reallyUpdateIt()
的代码部分之外,所有的工作都在进行中,我使用firebug检查了ajax响应,它附带了预期的新javascript代码,但是当我调用
reallyUpdateIt()
时,会触发旧代码

我使用的是JSF 1.2,richfaces 3.3.3,

结果是使用
不会生成A4J可以重新加载的html节,我不得不使用
,所以现在它更新了函数,我的代码现在看起来像:

<a4j:region >
<a4j:outputPanel id="scriptSuggested">  
<f:verbatim>
<script>
  reallyUpdateIt = function () {
       // javascript code that changes after aj4 ajax call is triggered
      }
    </script>
   </f:verbatim>
    <a4j:jsFunction reRender="scriptSuggested" ignoreDupResponses="true" ajaxSingle="true" name="updateSuggestionValues" action="#{bean.action}" oncomplete="reallyUpdateIt();">
        <a4j:actionparam name="userInput" assignTo="#{bean.input}" />
    </a4j:jsFunction>
</a4j:outputPanel>
</a4j:region>

reallyUpdateIt=函数(){
//触发aj4 ajax调用后更改的javascript代码
}
事实证明,使用
不会生成A4J可以重新加载的html节,我必须使用
,所以现在它更新了函数,我的代码现在看起来像:

<a4j:region >
<a4j:outputPanel id="scriptSuggested">  
<f:verbatim>
<script>
  reallyUpdateIt = function () {
       // javascript code that changes after aj4 ajax call is triggered
      }
    </script>
   </f:verbatim>
    <a4j:jsFunction reRender="scriptSuggested" ignoreDupResponses="true" ajaxSingle="true" name="updateSuggestionValues" action="#{bean.action}" oncomplete="reallyUpdateIt();">
        <a4j:actionparam name="userInput" assignTo="#{bean.input}" />
    </a4j:jsFunction>
</a4j:outputPanel>
</a4j:region>

reallyUpdateIt=函数(){
//触发aj4 ajax调用后更改的javascript代码
}