1

我有 f:ajax 标签的问题。单击 commandLink 后,我想显示和隐藏一些数据,但出现错误:

来自浏览器的错误

我的代码:

<h:form prependId="false" id="contactDataForm">
    <h:commandLink value="Edit" action="#{cc.attrs.userBB.showHideEditForm()}">
        <f:ajax render="editableContactData notEditableContactData"/>
    </h:commandLink>
    <h:panelGroup id="notEditableContactData" rendered="#{cc.attrs.userBB.show == false}">
        test1
    </h:panelGroup>
        test2
    </h:panelGroup>
</h:form>
4

1 回答 1

2

我认为你得到的错误是因为你试图引用不是从你的元素呈现的元素f:ajax,而是:参考h:panelGroup可能会或可能不会呈现的包装器

包装notEditableContactData,所以基本上:

尝试改变

<h:panelGroup id="notEditableContactData" rendered="#{cc.attrs.userBB.show == false}">
    test1
</h:panelGroup>

进入

<h:panelGroup id="notEditableContactData" rendered="#{cc.attrs.userBB.show == false}">
   <h:panelGroup rendered="#{cc.attrs.userBB.show == false}">
        test1
    </h:panelGroup>
</h:panelGroup>

h:panelGroup对另一个也做同样的事情

看看我的这个答案你能从 ap:ajax 监听器更新一个 h:outputLabel 吗?

于 2012-09-12T11:04:20.967 回答