foundation-form¶
foundation-form
is an enhancement of <form>.
.foundation-form¶
A marker class to host enhancement related to form.
Selector Rule:
form.foundation-form
[data-foundation-form-ajax]¶
true
if the form is to be submitted using ajax asynchronously, instead of standard synchronous behavior.
Selector Rule:
.foundation-form[data-foundation-form-ajax]
[data-foundation-form-output-replace]¶
The selector to an element where the form submit output will be displayed. If the element is .foundation-content
, FoundationContent.replace(html, historyConfig)
will be used; otherwise the output will replace the element content by mean of element.innerHTML
.
Selector Rule:
[data-foundation-form-ajax][data-foundation-form-output-replace]
[data-foundation-form-output-push]¶
The selector to an element where the form submit output will be displayed. If the element is .foundation-content
, FoundationContent.push(html, historyConfig)
will be used; otherwise the output will replace the element content by mean of element.innerHTML
.
Selector Rule:
[data-foundation-form-ajax][data-foundation-form-output-push]
[data-foundation-form-history]¶
The JSON config to configure the browser history when calling FoundationContent.replace(html, historyConfig)
or FoundationContent.push(html, historyConfig)
by mean of [data-foundation-form-output-replace]
or [data-foundation-form-output-push]
respectively.
interface FoundationFormHistoryConfig {
/**
* The URL to be passed to historyConfig param of <code>FoundationContent.replace(html, historyConfig)</code> or <code>FoundationContent.push(html, historyConfig)</code>.
* This is optional and take precedence over <code>useFormUrl</code> property.
*/
url?: string;
/**
* Indicates that the form's action attribute is used as the URL to be passed to historyConfig param
* of <code>FoundationContent.replace(html, historyConfig)</code> or <code>FoundationContent.push(html, historyConfig)</code>.
*/
useFormUrl?: boolean;
/**
* The title to be passed to historyConfig param of <code>FoundationContent.replace(html, historyConfig)</code> or <code>FoundationContent.push(html, historyConfig)</code>.
*/
title?: string;
/**
* The data to be passed to historyConfig param of <code>FoundationContent.replace(html, historyConfig)</code> or <code>FoundationContent.push(html, historyConfig)</code>.
*/
data?: any;
/**
* The behavior when History API is not available.
*
* WARNING: This config is no longer supported, as IE9 is no longer supported, hence History API is always supported.
*
* ignore (default): Ignores history manipulation.
* disableAjax: Equivalent to setting <code>[data-foundation-form-ajax]</code> to <code>false</code>.
*/
noSupportBehaviour?: string;
}
Selector Rule:
[data-foundation-form-ajax][data-foundation-form-history]
[data-foundation-form-redirect]¶
The URL to redirect the form to.
If this attribute is specified, instead of processing the content from the submission response, the URL will be used to fetch a new content if it is a success response. The new content is processed according to output processing attributes, namely [data-foundation-form-output-replace]
or [data-foundation-form-output-push]
accordingly.
[data-foundation-form-ui]¶
none
to suppress certain UI behavior. Otherwise foundation-form
will show an error dialog during error response. This attribute is applicable only when data-foundation-form-ajax
is true
.
Selector Rule:
[data-foundation-form-ajax][data-foundation-form-ui]
[data-foundation-form-loadingmask]¶
true
to show a mask during form submission. Otherwise no mask is shown at all.
The mask is used to cover the element specified at [data-foundation-form-output-replace]
, or [data-foundation-form-output-push]
, or the whole screen.
This attribute is applicable only when data-foundation-form-ajax
is true
.
Selector Rule:
[data-foundation-form-ajax][data-foundation-form-loadingmask]
foundation-form-submitted event¶
This event is triggered after the submission of the form is completely finished—i.e. when no further action is performed by foundation-form
. The event has the following parameters:
interface FoundationFormSubmittedEvent {
/**
* @param status <code>true</code> when the form is successfully submitted; <code>false</code> otherwise
* @param xhr The normalized jQuery XHR object
*/
(status: boolean, xhr: JQueryXHR): void;
}
AdaptTo Interface¶
- type
foundation-form
- condition
form.foundation-form
- returned type
FoundationForm
interface FoundationForm {
/**
* Submits the form asynchronously.
*
* Note that this is merely a convenience method to submit a form using Ajax.
* The behaviour of foundation-form is not performed by this method.
* Please submit the form by triggering the submit event normally to achieve that.
*
* @returns The promise of the response
*/
submitAsync(): Promise;
/**
* Resets the form. This method is intended to also reset <code>foundation-field</code> in addition to standard form controls.
*
* @param skipNative Skips the native form reset method (HTMLFormElement#reset)
*/
reset(skipNative?: boolean): void;
}