Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

HTML attribute: multiple

The Booleanmultiple attribute, if set, means the form control accepts one or more values. The attribute is valid for theemail andfile input types and the<select>. The manner by which the user opts for multiple values depends on the form control.

Try it

<label for="recipients">Where should we send the receipt?</label><input name="recipients" type="email" multiple /><label for="shakes">Which shakes would you like to order?</label><select name="shakes" multiple>  <option>Vanilla Shake</option>  <option>Strawberry Shake</option>  <option>Chocolate Shake</option></select><label for="payment">How would you like to pay?</label><select name="payment">  <option>Credit card</option>  <option>Bank Transfer</option></select>
label {  display: block;  margin-top: 1em;}input,select {  width: 100%;}input:invalid {  background-color: lightpink;}

Overview

Depending on the type, the form control may have a different appearance if themultiple attribute is set. For the file input type, the native messaging the browser provides differs. In Firefox, the file input reads "No files selected" when the attribute is present and "No file selected" when it is not. Most browsers display a scrolling list box for a<select> control with themultiple attribute set and a single line dropdown when the attribute is omitted. Theemail input displays the same whether or not themultiple attribute is included, but will match the:invalid pseudo-class if more than one comma-separated email address is included if the attribute is not present.

Whenmultiple is set on theemail input type, the user can include zero (if not alsorequired), one or more comma-separated email addresses.

html
<input type="email" multiple name="emails" />

If and only if themultiple attribute is specified, the value can be a list of properly-formed comma-separated email addresses. Any trailing and leading whitespace is removed from each address in the list.

Whenmultiple is set on thefile input type, the user can select one or more files. The user can choose multiple files from the file picker in any way that their chosen platform allows (e.g., by holding downShift orControl, and then clicking).

html
<input type="file" multiple name="uploads" />

When the attribute is omitted, the user can only select a single file per<input>.

Themultiple attribute on the<select> element represents a control for selecting zero or more options from the list of options. Otherwise, the<select> element represents a control for selecting a single<option> from the list of options.

html
<select multiple name="dwarfs">  <option>Grumpy</option>  <option>Happy</option>  <option>Sleepy</option>  <option>Bashful</option>  <option>Sneezy</option>  <option>Dopey</option>  <option>Doc</option></select>

Whenmultiple is specified, most browsers will show a scrolling list box instead of a single line dropdown.

Accessibility concerns

Provide instructions to help users understand how to complete the form and use individual form controls. Indicate any required and optional input, data formats, and other relevant information. When using themultiple attribute, inform the user that multiple values are allowed and provide directions on how to provide multiple values, such as "separate email addresses with a comma."

Settingsize="1" on a multiple select can make it appear as a single select in some browsers, but then it doesn't expand on focus, harming usability. Don't do that. If you do change the appearance of a select, and even if you don't, make sure to inform the user that more than one option can be selected by another method.

Examples

email input

html
<label for="emails">Who do you want to email?</label><input  type="email"  multiple  name="emails"   list="dwarf-emails"  required  size="64" /><datalist>  <option value="grumpy@woodworkers.com">Grumpy</option>  <option value="happy@woodworkers.com">Happy</option>  <option value="sleepy@woodworkers.com">Sleepy</option>  <option value="bashful@woodworkers.com">Bashful</option>  <option value="sneezy@woodworkers.com">Sneezy</option>  <option value="dopey@woodworkers.com">Dopey</option>  <option value="doc@woodworkers.com">Doc</option></datalist>
input:invalid {  border: red solid 3px;}

If and only if themultiple attribute is specified, the value can be a list of properly-formed comma-separated email addresses. Any trailing and leading whitespace is removed from each address in the list. If therequired attribute is present, at least one email address is required.

Some browsers support the appearance of thelist of options from the associated<datalist> for subsequent email addresses whenmultiple is present. Others do not.

file input

Whenmultiple is set on thefile input type, the user can select one or more files:

html
<form method="post" enctype="multipart/form-data">  <p>    <label for="uploads"> Choose the images you want to upload: </label>    <input      type="file"           name="uploads"      accept=".jpg, .jpeg, .png, .svg, .gif"      multiple />  </p>  <p>    <label for="text">Pick a text file to upload: </label>    <input type="file" name="text" accept=".txt" />  </p>  <p>    <input type="submit" value="Submit" />  </p></form>

Note the difference in appearance between the example withmultiple set and the otherfile input without.

When the form is submitted, had we usedmethod="get" each selected file's name would have been added to URL parameters as?uploads=img1.jpg&uploads=img2.svg. However, since we are submitting multipart form data, we must use post. See the<form> element andsending form data for more information.

select

Themultiple attribute on the<select> element represents a control for selecting zero or more options from the list of options. Otherwise, the<select> element represents a control for selecting a single<option> from the list of options. The control generally has a different appearance based on the presence of the multiple attribute, with most browsers displaying a scrolling list box instead of a single line dropdown when the attribute is present.

html
<form method="get" action="#">  <p>    <label for="dwarfs">Select the dwarf woodsman you like:</label>    <select multiple name="dwarfs">      <option>grumpy@woodworkers.com</option>      <option>happy@woodworkers.com</option>      <option>sleepy@woodworkers.com</option>      <option>bashful@woodworkers.com</option>      <option>sneezy@woodworkers.com</option>      <option>dopey@woodworkers.com</option>      <option>doc@woodworkers.com</option>    </select>  </p>  <p>    <label for="favoriteOnly">Select your favorite:</label>    <select name="favoriteOnly">      <option>grumpy@woodworkers.com</option>      <option>happy@woodworkers.com</option>      <option>sleepy@woodworkers.com</option>      <option>bashful@woodworkers.com</option>      <option>sneezy@woodworkers.com</option>      <option>dopey@woodworkers.com</option>      <option>doc@woodworkers.com</option>    </select>  </p>  <p>    <input type="submit" value="Submit" />  </p></form>

Note the difference in appearance between the two form controls.

css
/* uncomment this CSS to make the multiple the same height as the single *//*select[multiple] {  height: 1.5em;  vertical-align: top;}select[multiple]:focus,select[multiple]:active {  height: auto;}*/

There are a few ways to select multiple options in a<select> element with amultiple attribute. Depending on the operating system, mouse users can hold theCtrl,Command, orShift keys and then click multiple options to select/deselect them. Keyboard users can select multiple contiguous items by focusing on the<select> element, selecting an item at the top or bottom of the range they want to select using theUp andDown cursor keys to go up and down the options. The selection of non-contiguous is not as well-supported: items should be able to be selected and deselected by pressingSpace, but support varies between browsers.

Specifications

Specification
HTML
# attr-input-multiple
HTML
# attr-select-multiple

Browser compatibility

html.elements.input.multiple

html.elements.select.multiple

See also

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp