gpt4 book ai didi

javascript - 使用A4J,如何重新渲染javascript函数,并在重新渲染后调用它?

转载 作者:行者123 更新时间:2023-11-28 01:57:46 25 4
gpt4 key购买 nike

例如,我尝试过

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

我希望调用 javascript 函数

updateSuggestionValues('val');

将要执行该操作

#{bean.action}

之后它将重新渲染该区域 scriptSuggested 并最终调用 reallyUpdateIt() ,

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

我正在使用 JSF 1.2,richfaces 3.3.3,

最佳答案

结果是使用 <a4j:region id="scriptSuggested" >没有生成 A4J 可以重新渲染的 html 部分,我不得不使用 <a4j:outputPanel> ,所以现在它更新了函数,我的代码现在看起来像:

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

关于javascript - 使用A4J,如何重新渲染javascript函数,并在重新渲染后调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18858942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com