Grails:使用ajax更新多个页面元素

Grails:使用ajax更新多个页面元素,grails,Grails,似乎使用g:formRemote和g:submittomote,我只能指定一个更新目标div。更新多个div的可行策略是什么?如果您想坚持使用g:formRemote标记来执行ajax,这可能是不可能的。为什么不编写一些jQuery,并推出一个自定义ajax更新呢?这再容易不过了 您可以使用onSuccess代替update,解析响应并更新需要更新的元素,如下所示: <g:formRemote name='loginForm' url="[action:'login']" onSu

似乎使用g:formRemote和g:submittomote,我只能指定一个更新目标div。更新多个div的可行策略是什么?

如果您想坚持使用g:formRemote标记来执行ajax,这可能是不可能的。为什么不编写一些jQuery,并推出一个自定义ajax更新呢?这再容易不过了

您可以使用onSuccess代替update,解析响应并更新需要更新的元素,如下所示:

<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>
<g:formRemote name='loginForm' url="[action:'login']" update="[success:'message',failure:'error']">

功能登录(resp){
//解析resp.responseText并更新
}
或者,您也可以使用jQuery,按照前面的答案建议自己滚动

如果要根据成功更新一个元素,而根据失败更新另一个元素,可以使用如下映射:

<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>
<g:formRemote name='loginForm' url="[action:'login']" update="[success:'message',failure:'error']">

这个grails问题有一个解决方案,您可以使用taconite,其中taconite允许通过一个ajax调用更新多个元素

在某人的博客上发布了另一个解决方案,但我的声誉只允许我在stackoverflow上发布一个链接


因此,我在g:formremote的Grails文档中给出了博客文章的标题“使用Grails和Ajax更新多个页面元素”

,您可以使用onSuccess回调定义一个js函数来成功提交,这样您就可以更新该函数中的所有目标元素,否则,自己进行ajax调用也是一个不错的选择。

您能提供一个例子吗。。。我不确定您想要实现什么。使用jQuery,一切都是可能的!