Bird
Raised Fist0
Bootsrapmarkup~5 mins

Form control basics in Bootsrap

Choose your learning style10 modes available
Introduction

Form controls let users enter information on a webpage. They make websites interactive and useful.

When you want users to type their name or email.
When you need users to select options from a list.
When you want users to check boxes or toggle switches.
When you want to collect feedback or comments.
When you want users to submit data like login details.
Syntax
Bootsrap
<input type="text" class="form-control" placeholder="Enter text">

<select class="form-select">
  <option>Option 1</option>
  <option>Option 2</option>
</select>

<textarea class="form-control" rows="3"></textarea>
Use the form-control class to style text inputs and textareas with Bootstrap's default look.
Use the form-select class for dropdown menus to get consistent styling.
Examples
A text input for email with Bootstrap styling and a placeholder.
Bootsrap
<input type="email" class="form-control" placeholder="Enter your email">
A dropdown menu with a default selected option.
Bootsrap
<select class="form-select">
  <option selected>Choose an option</option>
  <option>Option A</option>
  <option>Option B</option>
</select>
A multi-line text box for longer input like messages or comments.
Bootsrap
<textarea class="form-control" rows="4" placeholder="Write your message here"></textarea>
Sample Program

This example shows a simple contact form using Bootstrap form controls. It includes a text input for name, an email input, a textarea for message, and a submit button. Labels and ARIA labels improve accessibility.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Bootstrap Form Controls Example</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
  <main class="container mt-5">
    <h1>Contact Us</h1>
    <form>
      <div class="mb-3">
        <label for="nameInput" class="form-label">Name</label>
        <input type="text" class="form-control" id="nameInput" placeholder="Enter your name" aria-label="Name">
      </div>
      <div class="mb-3">
        <label for="emailInput" class="form-label">Email address</label>
        <input type="email" class="form-control" id="emailInput" placeholder="name@example.com" aria-label="Email address">
      </div>
      <div class="mb-3">
        <label for="messageInput" class="form-label">Message</label>
        <textarea class="form-control" id="messageInput" rows="4" placeholder="Write your message here" aria-label="Message"></textarea>
      </div>
      <button type="submit" class="btn btn-primary">Send</button>
    </form>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Always use <label> tags with form controls for better accessibility.

Use aria-label or aria-labelledby to help screen readers understand inputs.

Bootstrap's spacing classes like mb-3 add space below each form group for neat layout.

Summary

Form controls let users enter or select data on a webpage.

Bootstrap provides form-control and form-select classes for consistent styling.

Labels and ARIA attributes make forms accessible to everyone.

Practice

(1/5)
1. What is the main purpose of the form-control class in Bootstrap?
easy
A. To format tables
B. To create navigation bars
C. To add animations to buttons
D. To style input elements like text boxes consistently

Solution

  1. Step 1: Understand the role of form-control

    The form-control class is used to style form inputs such as text boxes, textareas, and selects.
  2. Step 2: Identify what it does visually

    It makes form inputs look consistent and user-friendly across browsers.
  3. Final Answer:

    To style input elements like text boxes consistently -> Option D
  4. Quick Check:

    Bootstrap form-control styles inputs [OK]
Hint: Remember: form-control styles input fields [OK]
Common Mistakes:
  • Confusing form-control with navigation or buttons
  • Thinking it adds animations
  • Assuming it styles tables
2. Which of the following is the correct way to apply Bootstrap styling to a text input field?
easy
A.
B.
C.
D.

Solution

  1. Step 1: Recall Bootstrap's class for inputs

    Bootstrap uses the class form-control to style text inputs.
  2. Step 2: Match the correct class name

    Only uses form-control correctly.
  3. Final Answer:

    <input type="text" class="form-control"> -> Option B
  4. Quick Check:

    Bootstrap input class = form-control [OK]
Hint: Use exactly 'form-control' class for inputs [OK]
Common Mistakes:
  • Using incorrect class names like form-input or input-style
  • Swapping words in class names
  • Missing the class attribute
3. What will be the visual result of this code snippet?
<input type="email" class="form-control" placeholder="Enter email" aria-label="Email address">
medium
A. A styled email input box with placeholder text and accessible label
B. A plain input box without any styling or placeholder
C. A button labeled 'Enter email'
D. An error because aria-label is invalid here

Solution

  1. Step 1: Analyze the input element

    The input is of type email, has the Bootstrap class form-control, a placeholder, and an ARIA label.
  2. Step 2: Understand the visual and accessibility effects

    The form-control class styles the input nicely. The placeholder shows faint text inside the box. The aria-label helps screen readers identify the input as 'Email address'.
  3. Final Answer:

    A styled email input box with placeholder text and accessible label -> Option A
  4. Quick Check:

    form-control + placeholder + aria-label = styled accessible input [OK]
Hint: Placeholder shows text; aria-label helps screen readers [OK]
Common Mistakes:
  • Thinking aria-label causes errors
  • Confusing input with button
  • Ignoring placeholder effect
4. Identify the error in this Bootstrap form control code:
<input type="text" class="form-control" placeholder="Name" aria-lable="User name">
medium
A. The attribute 'aria-lable' is misspelled
B. The class name 'form-control' is misspelled
C. The placeholder attribute is invalid
D. The input type 'text' is not supported

Solution

  1. Step 1: Check class and attributes

    The class form-control is spelled correctly. The placeholder is valid. The input type 'text' is supported.
  2. Step 2: Spot the typo in ARIA attribute

    The attribute aria-lable is misspelled; it should be aria-label.
  3. Final Answer:

    The attribute 'aria-lable' is misspelled -> Option A
  4. Quick Check:

    ARIA attribute spelling matters [OK]
Hint: Check ARIA attribute spelling carefully [OK]
Common Mistakes:
  • Misspelling aria-label as aria-lable
  • Assuming placeholder is wrong
  • Thinking form-control is misspelled
5. You want to create a dropdown menu for selecting a country using Bootstrap. Which code snippet correctly applies Bootstrap form control classes and accessibility best practices?
hard
A. <select class="form-select" aria-label="Country selector"><option>USA</option><option>Canada</option></select>
B. <select class="form-control" aria-labelledby="country"><option>USA</option><option>Canada</option></select>
C. <select class="form-select" aria-label="Country selector"><option selected>Select country</option><option>USA</option><option>Canada</option></select>
D. <select class="form-control" aria-label="country"><option>USA</option><option>Canada</option></select>

Solution

  1. Step 1: Identify correct Bootstrap class for dropdowns

    Bootstrap uses form-select for styling select dropdowns, not form-control.
  2. Step 2: Check accessibility and usability

    Using aria-label="Country selector" provides an accessible name. Including a default option like Select country with selected guides users.
  3. Step 3: Compare options

    <select class="form-select" aria-label="Country selector"><option selected>Select country</option><option>USA</option><option>Canada</option></select> uses form-select, has an accessible label, and a default selected option, making it best practice.
  4. Final Answer:

    <select class="form-select" aria-label="Country selector"><option selected>Select country</option><option>USA</option><option>Canada</option></select> -> Option C
  5. Quick Check:

    Dropdown = form-select + aria-label + default option [OK]
Hint: Use form-select for dropdowns with aria-label and default option [OK]
Common Mistakes:
  • Using form-control instead of form-select for selects
  • Missing accessible labels
  • Not providing a default option
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard