Form Input Types
Examples
Select Boxes
HTML
<select class="form-control" id="beverage">
<option value="coffee">Coffee</option>
<option value="tea">Tea</option>
<option value="kombucha">Kombucha</option>
<option value="water">Water</option>
</select>
JavaScript
const beverage = $("#beverage").val();
Radio Buttons
HTML
<div class="radio">
<label>
<input type="radio" name="flavor" value="chocolate" checked>
Chocolate
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="flavor" value="vanilla">
Vanilla
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="flavor" value="cookiesandcream">
Cookies & Cream
</label>
</div>
JavaScript
const flavor = $("input:radio[name=flavor]:checked").val();
Date Picker
HTML
<div class="form-group">
<label for="born">Date of birth:</label>
<input id="born" class="form-control" type="date">
</div>
const dob = $("#born").val();
Color Picker
<div class="form-group">
<label for="color">What is your favorite color?</label>
<input id="color" class="form-control" type="color">
</div>
JavaScript
const favoriteColor = $("#color").val();
Tips
- Marking your HTML input field as number, date, or tel, doesn't mean it will automatically be a JavaScript number type.
type="number"just means that the form field will only accept number values. But when you use.val()to read the input, it will still come in as a JavaScript string, not a number.
Branching
Terminology
- Branching: Determining the flow of your code based on certain conditions. (ie: If something is true, do one thing. If this same thing is false, do a different thing.)
- Boolean: Returns true or false. When JavaScript is attempting to discern whether a condition is true, it's looking for a boolean.
-
Comparison operators:
===,>,<,>=,<=. -
=sets a variable;===compares two things. Don't use==.
Examples
One branch:
if (age > 21) {
$('#drinks').show();
}
Two branches:
if (age > 21) {
$('#drinks').show();
} else {
$('#under-21').show();
}
Three branches:
if (age > 21) {
$('#drinks').show();
} else if (age === 21) {
$('#drinks').show();
} else {
$('#under-21').show();
}
Branching can use a variable whose value is a boolean:
const over21 = true;
if (over21) {
$('#drinks').show();
}
Comparison operators return booleans:
3 > 2;
// returns true
Terminology
Logical operators:
-
&&means and:gender === 'male' && age < 26 -
||means or:gender === 'male' || age < 26 -
!means not:!under18 - Empty strings, the number
0, the numberNaN,undefined,null, andfalseitself are falsey. If JavaScript sees any of these as a branching condition, it will treat them as false. Everything else is truthy.



Top comments (0)