首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CommandLink primefaces

CommandLink primefaces
EN

Stack Overflow用户
提问于 2013-05-27 22:54:23
回答 2查看 1.3K关注 0票数 0

我有一个关于p:commandLink的问题

这是链接代码

<p:commandLink partialsubmit="true" id="c2aLink" immediate="true" ajax="true" update="generalPanel" action="#{tabularbean.refresh}"/>

问题是,当点击这个链接时,它会重新加载页面,而不仅仅是更新面板。

我只想更新面板而不是重新加载整个页面

注意:我使用javascript代码单击此链接。

javascript代码:

render: function(options) { var c2aLink = this.findElementWithIdLike(iframe.contentWindow,'c2aLink'); c2aLink.click();},

代码语言:javascript
复制
findElementWithIdLike :function(wind,prefix) {
    return this.findChildWithIdLike2(wind.document.body, prefix);
},

findChildWithIdLike2 :function(node, prefix) {
    if (node && node.id && node.id.indexOf(prefix) >= 0) {
        //match found
        return node;
    }

    //no match, check child nodes
    for (var index = 0; index < node.childNodes.length; index++) {
        var child = node.childNodes[index];
        var childResult = this.findChildWithIdLike2(child, prefix);
        if (childResult) {
            return childResult;
        }
    }
},`
EN

回答 2

Stack Overflow用户

发布于 2013-05-28 19:29:04

您需要调用元素的onclick属性处理程序,而不是click()方法。

替换

代码语言:javascript
复制
c2aLink.click();

通过

代码语言:javascript
复制
c2aLink.onclick();

onclick属性中定义了PrimeFaces ajax内容。

请注意,这一切都与JSF/PrimeFaces无关。在使用JSF/PrimeFaces生成的相同HTML代码时,您也会遇到完全相同的问题。将来,如果您尝试使用“普通”HTML,以便锁定/重现问题,而不是JSF/PrimeFaces,将会更有帮助。如果你在HTML/JavaScript上下文中提问,你也会有更好的机会更快地得到答案。

票数 0
EN

Stack Overflow用户

发布于 2014-06-27 21:19:09

只有在提交表单/表单的一部分时,partialSubmit才会起作用。您可以使用oncomplete="submit()"**;**,这是在ajax请求完成时执行的客户端回调。

使用:

代码语言:javascript
复制
process="@this" update="generalPanel"

如果您想要更新表单,请使用:

代码语言:javascript
复制
update="@form"

在这种情况下,绝对不需要javaScript代码。像primefaces这样的API是内置的。

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

https://stackoverflow.com/questions/16775742

复制
相关文章

相似问题

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