首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrimeFaces中remoteCommand的oncomplete和更新不起作用

PrimeFaces中remoteCommand的oncomplete和更新不起作用
EN

Stack Overflow用户
提问于 2012-07-12 00:45:58
回答 2查看 15.1K关注 0票数 0

我正在使用隐藏值和primeface的remoteCommand.In托管bean将参数从Javascript函数传递到ManagedBeans,我正在进行一些bean服务调用。在使用update属性进行for服务调用之后,我需要更新primeface数据表,而在oncomplete中,我正在调用JS.Botn update和oncomplete对我不起作用。

代码语言:javascript
复制
<h:form id ="pForm"> 
<p:dataTable style="height:500px;" id="activeStoreTable" var="stIter" value="#   {flowScope.str}"  >
    <p:column width="140"  filterBy="#{stIter.Name}">
           <p:commandLink update="@form"
                 onclick="setCenter('#{stIter.Name}' );"/>                                  
      </p:column>
</p:dataTable> 

<h:inputHidden id="update" value="#{updateBean.value}" />
<p:remoteCommand name="remoteCommand" process="update" update=":pForm:activeTable"      oncomplete="init('flowScope.Str');"/>
<p:commandButton value="save" onclick="check();" name="saves" >
</h:form>
EN

回答 2

Stack Overflow用户

发布于 2012-09-04 20:19:06

看起来像是拼写错误,您想要更新:pForm:activeTable,但该表名为activeStoreTable

票数 1
EN

Stack Overflow用户

发布于 2013-12-15 23:35:07

我认为您没有正确地完成它,我猜是远程命令没有被调用,因为要调用它,您必须将onclick="setCenter('#{stIter.Name}‘to onclick=“remotecommand ()”替换为“onclick="remoteCommand()",要传递'#{stIter.Name}’参数,您可以这样做

然后你会得到类似这样的东西:

代码语言:javascript
复制
<h:form id ="pForm"> 
<p:dataTable style="height:500px;" id="activeStoreTable" 
      var="stIter" value="#   {flowScope.str}"  >
    <p:column width="140"  filterBy="#{stIter.Name}">
           <p:commandLink update="@form"
                 onclick="remoteCommand()"
                 oncomplete="javascript:init('flowScope.Str');"
 />                                  
      </p:column>
</p:dataTable> 

<h:inputHidden id="update" value="#{updateBean.value}" />

<p:remoteCommand name="remoteCommand" process="update" 
        update=":pForm:activeTable"  >
<f:setPropertyActionListener value="#{stIter.Name}" 
        target="#{bean.methodName()}" />
</p:remoteCommand>

<p:commandButton value="save" onclick="check();" name="saves" >
</h:form>

我不知道您到底在做什么,但是在您的代码中,我认为您没有调用远程组件命令。

另外,我猜oncompleteAttribute不工作可能是因为它缺少一些东西,也许你可以试试这个:

oncomplete="javascript:init('flowScope.Str');“

还可以从jsf传递变量,如下所示

oncomplete="javascript:somefunction('${bean.StringAttribute}');“

我希望这会对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11437450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档