私はJSFを始めたばかりで、すばらしく見えますが、この最後の障壁を理解できないようです。
私は伝統的な Jquery AJAX 関数に慣れており、これは私の本では完璧です。しかし、JSF と調和して動作させる方法を見つけたいと思っていました。
これが私の状況を説明するシナリオです。
私の Web サイトには、ユーザーが互いにメッセージを送信できるメッセージ ページがあります。したがって、私のxhtmlページには次のようなものがあります。
<h:form>
<h:inputTextarea id="newMessageContent" value="#{conversationBean.newMessage}"/>
<h:commandButton value="#{siteLang.messages_send}" action="#{conversationBean.sendMessage}">
<f:ajax render=":conversationMessages" execute="newMessageContent"/>
</h:commandButton>
</h:form>
よく働く。ユーザーはメッセージを投稿でき、それが上記の会話 div に読み込まれます。しかし今、いくつかの機能を追加する必要があります。- ユーザーがクリックすると、アクションが完了するまで操作を避けるために、ボタンとテキストエリアを無効にする必要があります。ローダーが表示されます - JSF が処理を完了すると、テキストエリアとボタンが有効になり、ローダーが消えて、フォーカスがテキストエリアに戻ります。
Jquery では、単純に次のようにします。
$.ajax{
beforeSend: function (){
// Disable textarea and button, show loader
},
complete: function () {
// Do the inverse of above
}
}
助けてくれてありがとう!