(Quick Reference)

submitToRemote

Purpose

Creates a button that submits the surrounding form as a remote ajax call serializing the fields into parameters.

Examples

Example controller for an application called "shop":

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

Example usages for above controller:

<g:form action="show">
        Login: <input name="login" type="text"></input>
        <g:submitToRemote update="updateMe" />
</g:form>

<div id="updateMe">this div will be updated with the form submit response</div>

Description

Attributes

  • url - The url to submit to, either a map contraining keys for the action,controller and id or string value
  • update (optional) - Either a map containing the elements to update for 'success' or 'failure' states, or a string with the element to update in which cause failure events would be ignored
  • before (optional) - The javascript function to call before the remote function call
  • after (optional) - The javascript function to call after the remote function call
  • asynchronous (optional) - Whether to do the call asynchronously or not (defaults to true)
  • method (optional) - The method to use the execute the call (defaults to "post")

Events

  • onSuccess (optional) - The javascript function to call if successful
  • onFailure (optional) - The javascript function to call if the call failed
  • on_ERROR_CODE (optional) - The javascript function to call to handle specified error codes (eg on404="alert('not found!')")
  • onUninitialized (optional) - The javascript function to call the a ajax engine failed to initialise
  • onLoading (optional) - The javascript function to call when the remote function is loading the response
  • onLoaded (optional) - The javascript function to call when the remote function is completed loading the response
  • onComplete (optional) - The javascript function to call when the remote function is complete, including any updates

Source