似乎用g:formRemote和g:submitToRemote,我只能指定一个更新目标div。更新多个div的可行策略是什么?
答案 0 :(得分:1)
如果你想坚持使用g:formRemote标签来执行你的ajax,那可能是不可能的。为什么不写一些jQuery,并推出自定义ajax更新?它不容易!
答案 1 :(得分:1)
您可以使用onSuccess而不是使用更新,并解析响应并更新您需要更新的元素,如下所示:
<g:formRemote name='loginForm' url="[action:'login']"
onSuccess='loginOK(e)' >
<!-- form fields -->
</g:formRemote>
<g:javascript>
function loginOK( resp ) {
// parse the resp.responseText and update
}
</g:javascript>
或者你可以像以前的答案建议一样使用jQuery并自己滚动。
如果您想在失败时根据成功而不是另一个元素更新一个元素,您可以使用这样的地图:
<g:formRemote name='loginForm' url="[action:'login']" update="[success:'message',failure:'error']">
答案 2 :(得分:1)
有这个grails问题的解决方案,你可以使用taconite,其中taconite允许用一个单独的ajax调用更新多个元素
http://malsup.com/jquery/taconite/
并且在某人的博客上发布了另一个解决方案,但我的声誉只允许我在stackoverflow上发布一个链接!!!
所以我给出了博客文章“使用Grails和Ajax更新多个页面元素”的标题
答案 3 :(得分:0)
从grails doc for g:formremote,http://grails.org/doc/2.2.0/ref/Tags/formRemote.html,您可以使用onSuccess回调为成功提交定义js函数,这样您就可以更新该函数中的所有目标元素,否则创建ajax称自己也是一个不错的选择。