0

モーダル パネルを閉じていくつかの要素をレンダリングするボタンがあります。

ボタンが押された後に要素がレンダリングされたかどうかを確認する簡単な方法はありますか?

ボタンの例:

<a4j:commandButton onclick="#{rich:component('modal')}.hide();"  
    style="background-repeat:no-repeat;width:18px;height:18px;" 
    image="includes/images/close.gif"       
        render=":id1 :id2">
        <f:setPropertyActionListener target="#{Controller.attribute}" value="false" />
</a4j:commandButton>
4

2 に答える 2

1

レンダリングされていないdivで「機能」しない別のボタンがあります。

ボタンのすべての親コンポーネントのrendered属性の条件は、フォームを送信するときに保持する必要があります。したがってtrue、フォームにボタンを表示するリクエスト中に評価するだけでなくtrue、フォーム送信を処理するリクエスト中にも評価する必要があります。最も簡単なのは、バッキング Bean をビュー スコープに配置すること@ViewScopedです。

また、 を含むコンポーネントを再レンダリングする場合は、そのクライアント IDを属性<h:form>に明示的に追加する必要があります。たとえば、クライアント IDを持つコンポーネントが順番に.<h:form>renderid1<h:form id="formOfId1">

render=":id1 :id2 :formOfId1"

Web ブラウザの開発者ツールセットで HTTP トラフィックを調査するだけで、これをすべてデバッグできます (Chrome/IE9/Firebug で F12 を押して、[ネットワーク] セクションを確認します)。

以下も参照してください。

于 2012-06-28T13:43:38.903 に答える