Render a submit button. The submit tag is used together with the form tag to provide asynchronous form submissions.
The submit can have three different types of rendering:
- input: renders as html <input type="submit"...>
- image: renders as html <input type="image"...>
- button: renders as html <button type="submit"...>
Please note that the button type has advantages by adding the possibility to seperate the submitted value from the
text shown on the button face, but has issues with Microsoft Internet Explorer at least up to 6.0
Examples
<s:submit value="%{'Submit the form'}" />
Render an image submit:
<s:submit type="image" value="%{'Submit the form'}" src="submit.gif"/>
Render an button submit:
<s:submit type="button" value="%{'Submit the form'}"/>
THE FOLLOWING IS ONLY VALID WHEN AJAX IS CONFIGURED
- href
- errorText
- listenTopics
- notifyTopics
- executeScripts
- loadingText
- listenTopics
- handler
- formId
- formFilter
- targets
- showErrorTransportText
- targets
- indicator
'resultDivId' Deprecated. Use targets.
'targets' is a list of element ids whose content will be updated with the
text returned from request.
'errorText' is the text that will be displayed when there is an error making the request.
'onLoadJS' Deprecated. Use 'notifyTopics'.
'preInvokeJS' Deprecated. Use 'notifyTopics'.
'executeScripts' if set to true will execute javascript sections in the returned text.
'loadingText' is the text that will be displayed on the 'targets' elements while making the
request.
'handler' is the name of the function that will take care of making the AJAX request. Dojo's widget
and dom node are passed as parameters).
'formId' is the id of the html form whose fields will be seralized and passed as parameters
in the request.
'formFilter' is the name of a function which will be used to filter the fields that will be
seralized. This function takes as a parameter the element and returns true if the element
should be included.
'listenTopics' comma separated list of topics names, that will trigger a request
'indicator' element to be shown while the request executing
'showErrorTransportText': whether errors should be displayed (on 'targets')
'showLoadingText' show loading text on targets
'notifyTopics' comma separated list of topics names, that will be published. Three parameters are passed:
- data: html or json object when type='load' or type='error'
- type: 'before' before the request is made, 'load' when the request succeeds, or 'error' when it fails
- request: request javascript object, when type='load' or type='error'
Show the results in another div. If you want your results to be shown in
a div, use the resultDivId where the id is the id of the div you want them
shown in. This is an inner HTML approah. Your results get jammed into
the div for you. Here is a sample of this approach:
Remote form replacing another div:
<div id='two' style="border: 1px solid yellow;">Initial content</div>
<s:form
id='theForm2'
cssStyle="border: 1px solid green;"
action='/AjaxRemoteForm.action'
method='post'
theme="ajax">
<input type='text' name='data' value='Struts User' />
<s:submit value="GO2" theme="ajax" resultDivId="two" />
</s:form >
|