new FormLayout(configopt)
FormLayouts are used to wrap FieldsetLayouts when you intend to use browser-based form submission for the fields instead of handling them in JavaScript. Form layouts can be configured with an HTML form action, an encoding type, and a method using the #action, #enctype, and #method configs, respectively. See the OOjs UI documentation on MediaWiki for more information and examples.
Only widgets from the InputWidget family support form submission. It includes standard form elements like checkboxes, radio buttons and text fields, as well as some fancier controls. Some controls have both regular and InputWidget variants, for example OO.ui.DropdownWidget and OO.ui.DropdownInputWidget – only the latter support form submission and often have simplified APIs to match the capabilities of HTML forms. See the OOjs UI Inputs documentation on MediaWiki for more information about InputWidgets.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
config |
Object |
<optional> |
Configuration options Properties
|
- Mixes In:
- Source:
Example
// Example of a form layout that wraps a fieldset layout
var input1 = new OO.ui.TextInputWidget( {
placeholder: 'Username'
} );
var input2 = new OO.ui.TextInputWidget( {
placeholder: 'Password',
type: 'password'
} );
var submit = new OO.ui.ButtonInputWidget( {
label: 'Submit'
} );
var fieldset = new OO.ui.FieldsetLayout( {
label: 'A form layout'
} );
fieldset.addItems( [
new OO.ui.FieldLayout( input1, {
label: 'Username',
align: 'top'
} ),
new OO.ui.FieldLayout( input2, {
label: 'Password',
align: 'top'
} ),
new OO.ui.FieldLayout( submit )
] );
var form = new OO.ui.FormLayout( {
items: [ fieldset ],
action: '/api/formhandler',
method: 'get'
} )
$( 'body' ).append( form.$element );
Extends
Methods
getClosestScrollableElementContainer() → {HTMLElement}
Get closest scrollable container.
- Inherited From:
- Source:
Returns:
Closest scrollable container
- Type
- HTMLElement
getData() → {Mixed}
Get element data.
- Inherited From:
- Source:
Returns:
Element data
- Type
- Mixed
getElementDocument() → {HTMLDocument}
Get the DOM document.
- Inherited From:
- Source:
Returns:
Document object
- Type
- HTMLDocument
getElementGroup() → {OO.ui.mixin.GroupElement|null}
Get group element is in.
- Inherited From:
- Source:
Returns:
Group element, null if none
- Type
- OO.ui.mixin.GroupElement | null
getElementId() → {string}
Ensure that the element has an 'id' attribute, setting it to an unique value if it's missing, and return its value.
- Inherited From:
- Source:
Returns:
- Type
- string
getElementWindow() → {Window}
Get the DOM window.
- Inherited From:
- Source:
Returns:
Window object
- Type
- Window
getTagName() → {string}
Get the HTML tag name.
Override this method to base the result on instance information.
- Inherited From:
- Source:
Returns:
HTML tag name
- Type
- string
isElementAttached() → {boolean}
Check if the element is attached to the DOM
- Inherited From:
- Source:
Returns:
The element is attached to the DOM
- Type
- boolean
isVisible() → {boolean}
Check if element is visible.
- Inherited From:
- Source:
Returns:
element is visible
- Type
- boolean
(protected) restorePreInfuseState(state)
Restore the pre-infusion dynamic state for this widget.
This method is called after #$element has been inserted into DOM. The parameter is the return value of #gatherPreInfuseState.
Parameters:
Name | Type | Description |
---|---|---|
state |
Object |
- Inherited From:
- Source:
scrollElementIntoView(configopt) → {jQuery.Promise}
Scroll element into view.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
config |
Object |
<optional> |
Configuration options |
- Inherited From:
- Source:
Returns:
Promise which resolves when the scroll is complete
- Type
- jQuery.Promise
setData(data)
Set element data.
Parameters:
Name | Type | Description |
---|---|---|
data |
Mixed | Element data |
- Inherited From:
- Source:
setElementGroup(group)
Set group element is in.
Parameters:
Name | Type | Description |
---|---|---|
group |
OO.ui.mixin.GroupElement | null | Group element, null if none |
- Inherited From:
- Source:
setElementId(id)
Set the element has an 'id' attribute.
Parameters:
Name | Type | Description |
---|---|---|
id |
string |
- Inherited From:
- Source:
supports(methods) → {boolean}
Check if element supports one or more methods.
Parameters:
Name | Type | Description |
---|---|---|
methods |
string | Array.<string> | Method or list of methods to check |
- Inherited From:
- Source:
Returns:
All methods are supported
- Type
- boolean
toggle(showopt)
Toggle visibility of an element.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
show |
boolean |
<optional> |
Make element visible, omit to toggle visibility |
- Inherited From:
- Source:
Fires:
- event:visible
updateThemeClasses()
Update the theme-provided classes.
- Inherited From:
- Source: