You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
645 lines
20 KiB
645 lines
20 KiB
---
|
|
layout : 'default'
|
|
css : 'form'
|
|
|
|
title : 'Form'
|
|
description : 'A form is a collection of user input elements'
|
|
type : 'UI Collection'
|
|
---
|
|
<script src="/javascript/form.js"></script>
|
|
|
|
<%- @partial('header') %>
|
|
|
|
<div class="main container">
|
|
<div class="peek">
|
|
<div class="ui vertical pointing secondary menu">
|
|
<a class="active item">Types</a>
|
|
<a class="item">Elements</a>
|
|
<a class="item">States</a>
|
|
<a class="item">Variations</a>
|
|
<a class="item">Groups</a>
|
|
</div>
|
|
</div>
|
|
<h2 class="ui dividing header">Types</h2>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Form:</h4>
|
|
<p>
|
|
Forms always include fields, and fields always contain form elements. Fields themselves may also include:
|
|
<a href="/elements/input.html">inputs</a>, standard form fields, <a href="/elements/label.html">labels</a>, <a href="/modules/dropdown.html">selection dropdowns</a>, textareas, as well as:
|
|
<a href="/modules/checkbox.html">checkboxes</a>, and <a href="/collections/message.html">message blocks</a>.
|
|
</p>
|
|
<p>Validation messages use <a href="/collections/message.html">messages</a> which are formatted for use inside forms.</p>
|
|
<div class="ui ignored warning message">
|
|
<p>If you are looking for form validation, you should check out <a href="/modules/form.html">form validation</a>.</p>
|
|
</div>
|
|
<div class="ui ignored info message">
|
|
<p>This example uses a <a href="/elements/segment.html">ui segment</a> to add the padding and background color. This is not required.</p>
|
|
</div>
|
|
<div class="ui form segment">
|
|
<div class="field">
|
|
<label>Username</label>
|
|
<div class="ui left labeled icon input">
|
|
<input type="text" placeholder="Username">
|
|
<i class="user icon"></i>
|
|
<div class="ui corner label">
|
|
<i class="icon asterisk"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Password</label>
|
|
<div class="ui left labeled icon input">
|
|
<input type="password">
|
|
<i class="lock icon"></i>
|
|
<div class="ui corner label">
|
|
<i class="icon asterisk"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="ui error message">
|
|
<div class="header">We noticed some issues</div>
|
|
</div>
|
|
<div class="ui blue submit button">Login</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 class="ui dividing header">Elements</h2>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Field</h4>
|
|
<p>A field is a form element containing a label and an input</p>
|
|
<div class="ui form">
|
|
<div class="field">
|
|
<label>User Input</label>
|
|
<input type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Text Area</h4>
|
|
<p>A textarea uses the default form element</p>
|
|
<div class="ui form">
|
|
<div class="field">
|
|
<label>User Text</label>
|
|
<textarea></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Javascript Checkbox</h4>
|
|
<p><a href="/modules/checkbox.html">UI Checkboxes</a> allow a user to select individual options in a form</p>
|
|
|
|
<div class="evaluated code" data-type="javascript" data-label="true">
|
|
$('.ui.checkbox')
|
|
.checkbox()
|
|
;
|
|
</div>
|
|
<div class="ui form">
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<input type="checkbox" />
|
|
<label>Checkbox</label>
|
|
</div>
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui slider checkbox">
|
|
<input type="checkbox" />
|
|
<label>Slider</label>
|
|
</div>
|
|
<label></label>
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui toggle checkbox">
|
|
<input type="checkbox" />
|
|
<label>Toggle</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="example">
|
|
<a id="html-checkbox"></a>
|
|
<h4 class="ui header">HTML Only Checkbox</h4>
|
|
<p>Using checkboxes with HTML only, you must match the <code>for</code> attribute of your label to the <code>id</code> attribute of your checkbox.
|
|
<div class="ui form">
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<input id="check1" type="checkbox" />
|
|
<label for="check1">Checkbox</label>
|
|
</div>
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui slider checkbox">
|
|
<input id="check2" type="checkbox" />
|
|
<label for="check2">Slider</label>
|
|
</div>
|
|
<label></label>
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui toggle checkbox">
|
|
<input id="check3" type="checkbox" />
|
|
<label for="check3">Toggle</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Radio Box</h4>
|
|
<p>Radio boxes are a type of <a href="/modules/checkbox.html">UI Checkboxes</a> allowing only exclusive choice of options</p>
|
|
<div class="evaluated code" data-type="javascript" data-label="true">
|
|
$('.ui.radio.checkbox')
|
|
.checkbox()
|
|
;
|
|
</div>
|
|
<div class="ui form">
|
|
<div class="grouped inline fields">
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" checked />
|
|
<label>Apples</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" />
|
|
<label>Oranges</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" />
|
|
<label>Pears</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" />
|
|
<label>Grapefruit</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">HTML Only Radio Box</h4>
|
|
<p>Using checkboxes with HTML only, you must match the <code>for</code> attribute of your label to the <code>id</code> attribute of your checkbox.
|
|
<div class="ui form">
|
|
<div class="grouped inline fields">
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input id="choice-1" type="radio" name="fruit" checked />
|
|
<label for="choice-1">Apples</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input id="choice-2" type="radio" name="fruit" />
|
|
<label for="choice-2">Oranges</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input id="choice-3" type="radio" name="fruit" />
|
|
<label for="choice-3">Pears</label>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input id="choice-4" type="radio" name="fruit" />
|
|
<label for="choice-4">Grapefruit</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="no form example">
|
|
<h4 class="ui header">Select</h4>
|
|
<p>A selection dropdown, a type of <a href="/modules/dropdown.html">ui dropdown</a> can be used to allow for a selection from multiple choices</p>
|
|
<div class="evaluated code" data-type="javascript" data-label="true">
|
|
$('.ui.selection.dropdown')
|
|
.dropdown()
|
|
;
|
|
</div>
|
|
<div class="ui selection dropdown">
|
|
<input type="hidden" name="gender">
|
|
<div class="default text">Gender</div>
|
|
<i class="dropdown icon"></i>
|
|
<div class="menu">
|
|
<div class="item" data-value="male">Male</div>
|
|
<div class="item" data-value="female">Female</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="example">
|
|
<h4 class="ui header">Text Block</h4>
|
|
<p>Text blocks have special meaning inside a form tag. Any info, error, or warning message blocks found inside a form are hidden by default.</p>
|
|
<div class="ui form">
|
|
<div class="ui message">
|
|
<div class="header">We had some issues</div>
|
|
<ul class="list">
|
|
<li>Please enter your first name</li>
|
|
<li>Please enter your last name</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 class="ui dividing header">States</h2>
|
|
|
|
<h3 class="ui header">Form</h3>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Loading</h4>
|
|
<p>If a form is in loading state, it will automatically show a loading indicator:</p>
|
|
|
|
<div class="ui loading form segment">
|
|
<div class="two fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Gender</label>
|
|
<div class="ui fluid selection dropdown">
|
|
<div class="text">Select</div>
|
|
<i class="dropdown icon"></i>
|
|
<input type="hidden" name="gender">
|
|
<div class="menu">
|
|
<div class="item" data-value="male">Male</div>
|
|
<div class="item" data-value="female">Female</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Username</label>
|
|
<input placeholder="Username" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Password</label>
|
|
<input type="password">
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<input type="checkbox" />
|
|
<label>I agree to the terms and conditions</label>
|
|
</div>
|
|
</div>
|
|
<div class="ui blue submit button">Submit</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Error</h4>
|
|
<p>If a form is in an error state, it will automatically show any error message blocks:</p>
|
|
<div class="ui error form segment">
|
|
<div class="ui error message">
|
|
<div class="header">Action Forbidden</div>
|
|
<p>You can only sign up for an account once with a given e-mail address.</p>
|
|
</div>
|
|
<div class="two fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Gender</label>
|
|
<div class="ui fluid selection dropdown">
|
|
<div class="text">Select</div>
|
|
<i class="dropdown icon"></i>
|
|
<input type="hidden" name="gender">
|
|
<div class="menu">
|
|
<div class="item" data-value="male">Male</div>
|
|
<div class="item" data-value="female">Female</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Username</label>
|
|
<input placeholder="Username" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Password</label>
|
|
<input type="password">
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<input type="checkbox" />
|
|
<label>I agree to the Terms and Conditions</label>
|
|
</div>
|
|
</div>
|
|
<div class="ui blue submit button">Submit</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Warning</h4>
|
|
<p>If a form is in warning state, it will automatically show any warning message block:</p>
|
|
|
|
<div class="ui warning form segment">
|
|
<div class="ui warning message">
|
|
<div class="header">Could you check something!</div>
|
|
<ul class="list">
|
|
<li>You forgot your <b>first name</b></li>
|
|
<li>And also your <b>last name</b></li>
|
|
</ul>
|
|
</div>
|
|
<div class="two error fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
<div class="ui red pointing above ui label">Enter a first name</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
<div class="ui red pointing above ui label">Enter a last name</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Username</label>
|
|
<input placeholder="Username" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Password</label>
|
|
<input type="password">
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<input type="checkbox" />
|
|
<label>I agree to the Terms and Conditions</label>
|
|
</div>
|
|
</div>
|
|
<div class="ui blue submit button">Submit</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h3 class="ui header">Form Fields</h3>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Error</h4>
|
|
<p>Individual fields may contain an error state</p>
|
|
|
|
<div class="ui form segment">
|
|
<div class="two fields">
|
|
<div class="field error">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="field error">
|
|
<label>Gender</label>
|
|
<div class="ui fluid selection dropdown">
|
|
<div class="text">Select</div>
|
|
<i class="dropdown icon"></i>
|
|
<input type="hidden" name="gender">
|
|
<div class="menu">
|
|
<div class="item" data-value="male">Male</div>
|
|
<div class="item" data-value="female">Female</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Disabled</h4>
|
|
<p>Individual fields may be disabled or read only</p>
|
|
|
|
<div class="ui form segment">
|
|
<div class="two fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="Read Only" readonly="readonly" type="text">
|
|
</div>
|
|
<div class="disabled field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Disabled" disabled="disabled" type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 class="ui dividing header">Variations</h2>
|
|
|
|
<h3 class="ui header">Forms</h3>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Fluid</h4>
|
|
<p>A form can take the width of its container</p>
|
|
<div class="ui fluid form segment">
|
|
<div class="two fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="ui blue submit button">Submit</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Size</h4>
|
|
<p>A form can also be small or large</p>
|
|
<div class="ui small form segment">
|
|
<div class="two fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="ui blue small submit button">Submit</div>
|
|
</div>
|
|
<br><br>
|
|
<div class="ui large form segment">
|
|
<div class="two fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="ui blue submit button">Submit</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Inverted</h4>
|
|
<p>A form on a dark background may have to invert its color scheme</p>
|
|
|
|
<div style="background-color: #333333; padding: 15px;">
|
|
<div class="ui inverted form">
|
|
<div class="ui info message">
|
|
<div class="header">We had some issues</div>
|
|
<ul class="list">
|
|
<li>Please enter your first name</li>
|
|
<li>Please enter your last name</li>
|
|
</ul>
|
|
</div>
|
|
<div class="two fields">
|
|
<div class="field">
|
|
<label>First Name</label>
|
|
<input placeholder="First Name" type="text">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last Name</label>
|
|
<input placeholder="Last Name" type="text">
|
|
</div>
|
|
</div>
|
|
<div class="inline field">
|
|
<div class="ui checkbox">
|
|
<input type="checkbox" />
|
|
<label>I agree to the terms and conditions</label>
|
|
</div>
|
|
</div>
|
|
<div class="ui blue submit button">Submit</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<h3 class="ui header">Fields</h3>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Inline</h4>
|
|
<p>A field can have its label next to instead of above it.</p>
|
|
<div class="ui form">
|
|
<div class="inline field">
|
|
<label>Last name</label>
|
|
<input type="text" placeholder="Full Name">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Date</h4>
|
|
<p>A field can let users know they are for dates</p>
|
|
<div class="ui form">
|
|
<div class="date field">
|
|
<label>Birthday</label>
|
|
<input type="text" placeholder="xx/xx/xxxx">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<h2 class="ui dividing header">Groups</h2>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Fields</h4>
|
|
<p>Fields can exist together side by side</p>
|
|
<div class="ui ignored positive icon message">
|
|
<i class="mobile icon"></i>
|
|
<div class="content">
|
|
<h3 class="header">Responsive Element</h3>
|
|
<p>Grouped fields automatically receive responsive styling, swapping to one field per row for mobile.</p>
|
|
</div>
|
|
</div>
|
|
<div class="ui form">
|
|
<div class="ui three fields">
|
|
<div class="field">
|
|
<label>First name</label>
|
|
<input type="text" placeholder="First Name">
|
|
</div>
|
|
<div class="field">
|
|
<label>Middle name</label>
|
|
<input type="text" placeholder="Middle Name">
|
|
</div>
|
|
<div class="field">
|
|
<label>Last name</label>
|
|
<input type="text" placeholder="Last Name">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Grouped Fields</h4>
|
|
<p>Fields can be grouped to show related choices</p>
|
|
<div class="ui form">
|
|
<div class="grouped inline fields">
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" />
|
|
<label></label>
|
|
</div>
|
|
<label> Apples</label>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" />
|
|
<label></label>
|
|
</div>
|
|
<label> Oranges</label>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" />
|
|
<label></label>
|
|
</div>
|
|
<label> Pears</label>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui radio checkbox">
|
|
<input type="radio" name="fruit" />
|
|
<label></label>
|
|
</div>
|
|
<label> Grapefruit</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="example">
|
|
<h4 class="ui header">Inline</h4>
|
|
<p>Multiple fields may be inline in a row</p>
|
|
<div class="ui form">
|
|
<div class="inline fields">
|
|
<div class="field">
|
|
<label>Phone Number</label>
|
|
<input type="text" placeholder="(xxx)">
|
|
</div>
|
|
<div class="field">
|
|
<input type="text" placeholder="xxx">
|
|
</div>
|
|
<div class="field">
|
|
<input type="text" placeholder="xxxx">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|