2017-03-15 2 views

答えて

1

AJAX要求によって(すなわち、新しいHTMLを受け取る)に更新すべきコンポーネントを示すために、適切な名前の属性update :-)があります。あなたのケースでは

、あなたがfirstFormsecondFormは、コマンドボタン、使用によって更新されるようにする場合:

AJAXおよび非AJAX

<p:commandButton id="completeOne" 
    type="button" value="Complete" update="firstForm secondForm"> 
</p:commandButton> 

これはPrimeFacesのドキュメントに記述されています

CommandButtonにはビルトインのajax機能があり、デフォルトで が有効で、ajax属性を使用して設定されています。 ajax属性がfalseに設定されている場合、フォームは通常の完全な ページリフレッシュとともに送信されます。

update属性は、ajax応答を受信した後に他の コンポーネントを部分的に更新するために使用されます。更新 属性は、更新するJSFコンポーネント のIDのコンマまたはホワイトスペースで区切られたリストをとります。基本的に、PrimeFaces コンポーネントだけでなく、どのJSFコンポーネントもAjaxレスポンスで更新する必要があります。

PrimeFaces User Guide 6.0

update属性のデフォルトは、コンポーネントを含む唯一のフォームが更新された意味、@formです。あなたの場合はthirdForm、 で十分ではありません。


注:

プレーンJSF(すなわちPrimeFacesせず)のコンポーネントが更新されるかを示すf:ajax tagための同様の属性を有しています。ただし、f:ajaxの場合はupdateではなくrenderと呼ばれます。この2つを混同するのは簡単です。特に、プレーンなJSFタグとPrimeFacesタグを混在させる場合は特にそうです。

-1

フォームを選択することができます。

<h:form id="firstForm"> 
here i have some input fields 
</h:form> 
<h:form id="secondForm"> 
    here i have some input fields 
</h:form> 
<h:form id="thirdForm"> 
<p:commandButton id="completeOne" type="button" 
             value="Complete"> 
             </p:commandButton> 
</h:form> 

私の質問は、私はフォームを更新することができますどのように完全なボタンを押すことにより、そのIDを使ってだから、jQueryのでは、たとえば、これは次のようになります。

$("#completeOne").click(function() { 
    $("#firstForm").doSomethingWithIt 
    $("#secondForm").doSomethingWithIt 
}); 
関連する問題