0

私はdivの更新を探していません。ページ全体の「更新」を探しています

だから私はタグを持っています:

<g:remoteField controller="person" action="updatePerson" id="${personInstance.id}" paramName="search" name="updatePerson" value="${personInstance?.favoriteBreed}" />

添付のメソッドで、ドメイン オブジェクトを更新するアクションを実行してから、ページ全体を更新したいと考えています。アプリケーション内の単純なアクションへのレンダリングとリダイレクトの両方を試しましたが、何も呼び出されません。したがって、これは remoteField タグでは不可能だと思います。

これは本当ですか?

4

2 に答える 2

0

<g:remoteField />onSuccessあなたがやりたいことをするために使用できるイベントがあります。ここで他のオプションを確認できます。

試してください(テストされていません):

<g:remoteField controller="person" action="updatePerson" 
    id="${personInstance.id}" paramName="search" name="updatePerson"    
    value="${personInstance?.favoriteBreed}" onSuccess="reloadPage()" />

そして、javascript関数を作成する必要があります:

function reloadPage() {
  window.location.reload();
}
于 2012-09-05T14:20:18.760 に答える
0

ページの通常の動作を AJAX 経由で再実装するのはなぜですか? 呼び出されたコントローラーの最後にある適切なアクションへのリダイレクトを呼び出してみませんか?

showPerson アクションの結果のビューにいるとしましょう。このビューでは、単純な方法で updatePerson を呼び出します (params 属性は気にしないでください。これは単なる例です)。

<g:Link controller="person" action="updatePerson" id="${personInstance.id}" params="${name: 'search'}">click me</g:link>

そしてコントローラーで次のようにします:

def updatePerson = {
  // your own updating stuff

  redirect(action: "show", id: person.id)
}

それは簡単ではありませんか?:)

于 2012-09-05T17:09:10.257 に答える