How to specify that a user can enter more than one value in HTML?

The multiple attribute in HTML allows users to select or enter more than one value in specific form elements. This attribute is commonly used with <input> elements of type file and email, as well as with <select> elements to enable multi-selection capabilities.

Syntax

Following is the syntax for using the multiple attribute −

<input type="file" multiple>
<input type="email" multiple>
<select multiple>...</select>

The multiple attribute is a boolean attribute, which means its presence alone enables the functionality. You can write it as multiple, multiple="", or multiple="multiple".

Multiple File Selection

The most common use of the multiple attribute is with file input elements, allowing users to select multiple files at once from their file system.

Example

Following example demonstrates file upload with multiple selection −

<!DOCTYPE html>
<html>
<head>
   <title>Upload Multiple Files</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>File Upload Form</h2>
   <form>
      <label for="files">Select multiple files:</label><br>
      <input type="file" id="files" name="files" multiple><br><br>
      <p>Hold Ctrl (Windows) or Cmd (Mac) to select multiple files.</p>
      <input type="submit" value="Upload Files">
   </form>
</body>
</html>

Users can select multiple files by holding Ctrl (Windows) or Cmd (Mac) while clicking on files in the file dialog.

Multiple Email Addresses

The multiple attribute can also be used with email input fields to allow users to enter multiple email addresses separated by commas.

Example

Following example shows an email input that accepts multiple addresses −

<!DOCTYPE html>
<html>
<head>
   <title>Multiple Email Input</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>Email Recipients Form</h2>
   <form>
      <label for="emails">Enter multiple email addresses:</label><br>
      <input type="email" id="emails" name="emails" multiple 
             placeholder="user1@example.com, user2@example.com" 
             style="width: 400px; padding: 8px;"><br><br>
      <p>Separate email addresses with commas.</p>
      <input type="submit" value="Send Emails">
   </form>
</body>
</html>

Users can enter multiple email addresses separated by commas. The browser will validate each email address format automatically.

Multiple Selection in Dropdown Lists

The multiple attribute enables multi-selection in dropdown lists, allowing users to select more than one option from the available choices.

Example

Following example demonstrates a multi-select dropdown list −

<!DOCTYPE html>
<html>
<head>
   <title>Multiple Selection Dropdown</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>Course Selection Form</h2>
   <form>
      <label for="courses">Select your courses:</label><br>
      <select id="courses" name="courses" multiple size="6" 
              style="width: 200px; padding: 5px;">
         <option value="html">HTML5</option>
         <option value="css">CSS3</option>
         <option value="javascript">JavaScript</option>
         <option value="php">PHP</option>
         <option value="python">Python</option>
         <option value="java">Java</option>
      </select><br><br>
      <p>Hold Ctrl (Windows) or Cmd (Mac) to select multiple options.</p>
      <input type="submit" value="Register">
   </form>
</body>
</html>

The size attribute displays multiple options at once, making it clear that multiple selections are possible. Users hold Ctrl or Cmd while clicking to select multiple options.

Accessing Multiple Values with JavaScript

When working with multiple values, JavaScript can access the selected files, emails, or options using specific methods.

Example

Following example shows how to access multiple selected values with JavaScript −

<!DOCTYPE html>
<html>
<head>
   <title>Accessing Multiple Values</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>Multiple Selection Demo</h2>
   <form>
      <label for="skills">Select your skills:</label><br>
      <select id="skills" multiple size="5" style="width: 180px;">
         <option value="html">HTML</option>
         <option value="css">CSS</option>
         <option value="js">JavaScript</option>
         <option value="react">React</option>
         <option value="node">Node.js</option>
      </select><br><br>
      <button type="button" onclick="showSelected()">Show Selected</button>
      <p id="result"></p>
   </form>

   <script>
      function showSelected() {
         var select = document.getElementById("skills");
         var selected = [];
         for (var i = 0; i < select.options.length; i++) {
            if (select.options[i].selected) {
               selected.push(select.options[i].text);
            }
         }
         document.getElementById("result").innerHTML = 
            "Selected: " + selected.join(", ");
      }
   </script>
</body>
</html>

The JavaScript function loops through all options and identifies which ones are selected, then displays them as a comma-separated list.

Selected: HTML, CSS, JavaScript (example output after selection)
Multiple Attribute Usage File Input type="file" Select multiple files Ctrl/Cmd + click File dialog Upload functionality Email Input type="email" Multiple addresses Comma-separated Auto validation Email format check Select Element <select> Multiple options Ctrl/Cmd + click List box display size attribute

Browser Support and Considerations

The multiple attribute is well-supported across modern browsers. When using this attribute, consider the following points −

  • User Experience − Provide clear instructions on how to select multiple items (Ctrl+click or Cmd+click).

  • File Size Limits − For file inputs, consider implementing client-side checks for total file size.

  • Validation − Email inputs with multiple values automatically validate each email address format.

  • Styling − Multi-select dropdowns may need custom styling for better visual presentation.

Conclusion

The multiple attribute enhances form functionality by allowing users to select or enter multiple values in file inputs, email fields, and dropdown lists. It provides a native HTML solution for multi-selection without requiring additional JavaScript, making forms more user-friendly and efficient for collecting multiple related data points.

Updated on: 2026-03-16T21:38:53+05:30

209 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements