formRemote

用途

创建一个form标记,用ajax调用一个远程URL执行,如果javascript不被支持,form表单元素将回滚到正常的提交.

示例

在 "shop"应用程序中的一个contrller:

class BookController {
     def list = { [ books: Book.list( params ) ] }
     def show = { [ book : Book.get( params['id'] ) ] }
}

controller的使用方法:

<g:formRemote name="myForm" on404="alert('not found!')" update="updateMe" url="[action:'show']">
    Login: <input name="login" type="text"></input>
</g:formRemote>
<div id="updateMe">this div is updated by the form</div>

<g:formRemote name="myForm" update="updateMe"
              url="[ controller: 'book', action: 'list', params: [ sort: 'title', order: 'desc' ]]">
    Login: <input name="login" type="text"></input>
</g:formRemote>
<div id="updateMe">this div is updated by the form</div>

当javascript通过给的action和方法属性难以获取时,也可覆盖form表单的方法和action. 如果javascript很难得到,这个例子将用GET方法提交到 /<context>/book/oldList:

<g:formRemote name="myForm" method="GET" action="${createLink(controller: 'book', action: 'oldList')}"
              url="[ controller: 'book', action: 'list', params: [ sort: 'title', order: 'desc' ]]">
    Login: <input name="login" type="text"></input>
</g:formRemote>

描述

属性

事件

来源

Show Source