grailsでタグg:formRemoteを使用しようとしています。
頭の定義では:
<g:javascript library="prototype" />
見る:
<g:formRemote name="something" update="remoteDocsBlock"
url="[ controller: 'document',
action: 'search']">
search: <input name="searchstring" type="text"></input>
<g:actionSubmit value="Search" action="search" />
<g:render template="/document/remoteSearchList" model="[docs:docs]" />
</g:formRemote>
<div id="remoteDocsBlock">this div is updated with the result...</div>
私のコントローラーで
def search = {
.....
render (template:'remoteSearchList', model: [docs:docs])
}
問題
何が起こるか:コントローラーが呼び出され、ページ全体がコントローラーの結果(テンプレート_remoteSearchList)に置き換えられます。ページ上の異なるajax呼び出しは機能します。なぜグライルがそのように振る舞うのか私にはわかりません。
アップデート
「__」の問題を削除しました。コメントはこの質問を解決しました。
アップデート
問題を切り分けました:JQuery。このサイトでもJQueryを使用しています。それが削除された場合、ajax呼び出しは機能します...両方を機能させる方法を見つける必要があります。
<g:javascript library="jquery-1.4.4.min" />
<g:javascript library="jquery-ui-1.8.7.custom.min" />
<g:javascript library="jquery-server-extentions" />