How users send data to your app: form elements, input types, labels and built-in validation.
The <form> element groups controls and defines how their data is submitted through the action and method attributes. Inside it, input comes in many types (text, email, number, password, checkbox, radio, date, file and more), alongside select, textarea and button. Each control needs a name attribute to be included in submitted data, and radio buttons share a name to form a group. Pairing every control with a <label> (via for and id, or by wrapping) enlarges the click target and makes the field accessible.
HTML5 added built-in validation through attributes like required, pattern, min, max, minlength and maxlength, plus the autocomplete attribute and input types that trigger the right mobile keyboard. Interviewers like to ask the difference between GET and POST, why client-side validation never replaces server-side validation, and what the difference is between a button of type submit, button and reset. Forgetting that a button inside a form defaults to type submit is a common source of accidental page reloads.
What you'll walk away knowing