sourceforge > tacos
 

AjaxImageSubmit

Used almost exactly the same way that normal tapestry ImageSubmit components, with the added functionality of using standard tacos ajax interactions.

Note
The parameters of the standard ImageSubmit component have been purposefully left out, for those please see the referenced tapestry documentation. This section only outlines the enhancements and new parameters added in by tacos.

See also: ImageSubmit , Live Demo

Parameters

Name Type Direction Required Default Description
updateComponents List (or comma-delimited String) in no   List of component id strings to refresh after invoking listener. This causes the contents of any html element on the page with a matching id in this list to be replaced, if the specified element is rendered in the return response.
effects String in no   Specifies a list of effects to be applied to the returned response. Read the Effects-Popups page of the UserGuide for more details.
preEffects String in no   The same with effects parameter, but specifies effects that should be performed on parts before triggering the ajax request. Read the Effects-Popups page of the UserGuide for more details.
popup String in no  

If specified, the updated content will be shown in a floating pane. Read the Effects-Popups page of the UserGuide for more details.

updateObject String in no   If specified, the string passed in will be used to build a javascript statement which will call updateObject.ajaxUpdate(element, responseElement, elementId) / updateObject.beforeAjaxUpdate(responseElements) / updateObject.responseComplete(responseElements)
statusElement String in no   If specified, the html element on your page with a matching id to this parameter will be temporarily displayed for a few seconds with status text set on the AjaxWebRequest via addStatusResponse(String).
focusElement String in no   If specified, the html element on your page to focus after the ajax request.
backLink String in no   Provides ability to have the action encapsulated by the specified AjaxDirectLink used when users hit back button on browser in form.
forwardLink String in no   Provides ability to have the action encapsulated by the specified AjaxDirectLink used when users hits forward button on browser AFTER hitting back button provided in backLink first.
submitNormal boolean in no false Some instances require that the submission of forms caused by this component go through normal submits, not using async IO operations. Setting this to true will cause the form to be submitted in a non-ajax way.
onClick String in no If specified, this javascript will be called before the ajax submit. It can be used for confirmation messages: "if (!confirm('Are you sure?')) { return false; }"

Body: rendered

Informal parameters: allowed

Reserved parameters: type, src, border

Examples

This example uses the AjaxImageSubmit to submit the input username entry on a login form.

HTML template

          
<form jwcid="loginForm">
 <fieldset>
  <legend>Login</legend>

  <span jwcid="@FieldLabel" field="component:username" />
  <input jwcid="username@TextField"
         value="ognl:userName" displayName="message:username.input" />

  <input jwcid="@tacos:AjaxImageSubmit"
         image="asset:buttonImage"
         updateComponents="ognl:{'nameDisplay'}"
         effects="template:{highlight:{any:'[255,255,184], 500, 500'}}" />
</form>

<div jwcid="nameDisplay@Any" >
   <span jwcid="@If" condition="ognl:userName" >
      You entered <span jwcid="@Insert" value="ognl:userName" />.
   </span>
</div>
        
        

Page specification

          
<property name="userName" persist="session" />

<component id="loginForm" type="tacos:AjaxForm" >
  <binding name="updateComponents" value="ognl:{'loginForm'}" />
  <binding name="listener" value="listener:userLogin" />
</component>

<asset name="buttonImage" path="context:/img/loginButton.png" />
          
        

Java sources

          
public abstract class UserLogin extends BasePage {

  /**
   * Invoked by forms listener:userLogin specification.
   */
  public void userLogin(IRequestCycle cycle) {
   //don't need to do anything, input values are already set
  }
}