// Insert script element
var script = document.createElement(‘script’);
script.src = ‘externalScript.js’;
document.head.appendChild(script);
// Writing basic JavaScript code
var name = ‘John’;
var age = 25;
console.log(‘Name: ‘ + name);
console.log(‘Age: ‘ + age);
// Working with elements and events
var button = document.getElementById(‘myButton’);
button.addEventListener(‘click’, function() {
console.log(‘Button clicked’);
});
// Structuring JavaScript code (embedded vs external JavaScript file source)
// externalScript.js
function showMessage() {
console.log(‘Hello, world!’);
}
showMessage();
// Creating JavaScript functions
function addNumbers(a, b) {
return a + b;
}
// Calling a JavaScript function
var result = addNumbers(3, 5);
console.log(‘Result: ‘ + result);
// Parsing arguments to JS function
function greetUser(name) {
console.log(‘Hello, ‘ + name + ‘!’);
}
greetUser(‘Alice’);
// Handling events with functions
function handleButtonClick() {
console.log(‘Button clicked’);
}
button.addEventListener(‘click’, handleButtonClick);
// Working with Document Object Model (DOM)
var element = document.getElementById(‘myElement’);
console.log(‘Element content: ‘ + element.textContent);
!Changing Element Styles
var element = document.getElementById(‘myElement’);
element.style.color = ‘red’;
element.style.backgroundColor = ‘yellow’;
- Creating and appending new elements:
var newElement = document.createElement(‘div’);
newElement.textContent = ‘New element’;
document.body.appendChild(newElement);
- Form validation:
var form = document.getElementById(‘myForm’);
form.addEventListener(‘submit’, function(event) {
var input = document.getElementById(‘myInput’);
if (input.value === ”) {
event.preventDefault();
console.log(‘Input cannot be empty’);
}
});
- AJAX request using
fetch
:
fetch(‘https://api.example.com/data’)
.then(function(response) {
return response.json();
})
.then(function(data) {
console.log(data);
})
.catch(function(error) {
console.log(‘Error:’, error);
});
- Create forms and form fields:
<form id=”myForm”>
<!– Form fields go here –>
</form>
- Create labels and input fields:
<label for="name">Name:</label> <input type="text" id="name" name="name">
- Work with date and time fields (widgets):
<label for=”date”>Date:</label>
<input type=”date” id=”date” name=”date”>
- Create a selection list:
<label for=”options”>Select an option:</label>
<select id=”options” name=”options”>
<option value=”option1″>Option 1</option>
<option value=”option2″>Option 2</option>
</select>
- Create option buttons (radio buttons):
<label>
<input type=”radio” name=”radioOptions” value=”option1″> Option 1
</label>
<label>
<input type=”radio” name=”radioOptions” value=”option2″> Option 2
</label>
- Create checkboxes and textarea:
<label>
<input type=”checkbox” name=”option1″ value=”option1″> Option 1
</label>
<label>
<input type=”checkbox” name=”option2″ value=”option2″> Option 2
</label>
<textarea id=”myTextarea” name=”myTextarea”></textarea>
- Use data lists:
<input list=”myDataList” id=”myInput” name=”myInput”>
<datalist id=”myDataList”>
<option value=”Option 1″>
value=”Option 2″>
<option value=”Option 3″>
</datalist><option
/
- Create form buttons:
<button type=”submit”>Submit</button>
<button type=”reset”>Reset</button>
<button type=”button”>Click Me</button>
- Understanding audio and video formats:
<audio controls>
<source src=”audio.mp3″ type=”audio/mpeg”>
<source src=”audio.ogg” type=”audio/ogg”>
Your browser does not support the audio element.
</audio>
- Insert an HTML video clip:
<video controls>
<source src=”video.mp4″ type=”video/mp4″>
<source src=”video.webm” type=”video/webm”>
Your browser does not support the video element.
</video>
The <input> Element
One of the most used form element is the <input>
element.
The <input>
element can be displayed in several ways, depending on the type
attribute.
Example
<label for=”fname”>First name:</label>
<input type=”text” id=”fname” name=”fname”>
All the different values of the type
attribute are covered in the next chapter: HTML Input Types.
The <label> Element
The <label>
element defines a label for several form elements.
The <label>
element is useful for screen-reader users, because the screen-reader will read out loud the label when the user focus on the input element.
The <label>
element also help users who have difficulty clicking on very small regions (such as radio buttons or checkboxes) – because when the user clicks the text within the <label>
element, it toggles the radio button/checkbox.
The for
attribute of the <label>
tag should be equal to the id
attribute of the <input>
element to bind them together.
The <select> Element
The <select>
element defines a drop-down list:
Example
<label for=”cars”>Choose a car:</label>
<select id=”cars” name=”cars”>
<option value=”volvo”>Volvo</option>
<option value=”saab”>Saab</option>
<option value=”fiat”>Fiat</option>
<option value=”audi”>Audi</option>
</select>
The <option>
elements defines an option that can be selected.
By default, the first item in the drop-down list is selected.
To define a pre-selected option, add the selected
attribute to the option:
Visible Values:
Use the size
attribute to specify the number of visible values:
Example
<label for=”cars”>Choose a car:</label>
<select id=”cars” name=”cars” size=”3″>
<option value=”volvo”>Volvo</option>
<option value=”saab”>Saab</option>
<option value=”fiat”>Fiat</option>
<option value=”audi”>Audi</option>
</select>
Allow Multiple Selections:
Use the multiple
attribute to allow the user to select more than one value:
Example
<label for=”cars”>Choose a car:</label>
<select id=”cars” name=”cars” size=”4″multiple>
<option value=”volvo”>Volvo</option>
<option value=”saab”>Saab</option>
<option value=”fiat”>Fiat</option>
<option value=”audi”>Audi</option>
</select>
The <textarea> Element
The <textarea>
element defines a multi-line input field (a text area):
Example
<textarea name=”message” rows=”10″ cols=”30″>
The cat was playing in the garden.
</textarea>
The rows
attribute specifies the visible number of lines in a text area.
The cols
attribute specifies the visible width of a text area.
This is how the HTML code above will be displayed in a browser:
You can also define the size of the text area by using CSS:
Example
<textarea name=”message” style=”width:200px; height:600px;”>
The cat was playing in the garden.
</textarea>
The <button> Element
The <button>
element defines a clickable button:
This is how the HTML code above will be displayed in a browser:
Note: Always specify the type
attribute for the button element. Different browsers may use different default types for the button element.
The <fieldset> and <legend> Elements
The <fieldset>
element is used to group related data in a form.
The <legend>
element defines a caption for the <fieldset>
element.
Example
<form action=”/action_page.php”>
<fieldset>
<legend>Personalia:</legend>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” value=”John”><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname” value=”Doe”><br><br>
<input type=”submit” value=”Submit”>
</fieldset>
</form>
This is how the HTML code above will be displayed in a browser:
The <datalist> Element
The <datalist>
element specifies a list of pre-defined options for an <input>
element.
Users will see a drop-down list of the pre-defined options as they input data.
The list
attribute of the <input>
element, must refer to the id
attribute of the <datalist>
element.
Example
<form action=”/action_page.php”>
<input list=”browsers”>
<datalist id=”browsers”>
<option value=”Internet Explorer”>
<option value=”Firefox”>
<option value=”Chrome”>
<option value=”Opera”>
<option value=”Safari”>
</datalist>
</form>
The <output> Element
The <output>
element represents the result of a calculation (like one performed by a script).
Example
Perform a calculation and show the result in an <output>
element:
<form action=”/action_page.php”
oninput=”x.value=parseInt(a.value)+parseInt(b.value)”>
0
<input type=”range” id=”a” name=”a” value=”50″>
100 +
<input type=”number” id=”b” name=”b” value=”50″>
=
<output name=”x” for=”a b”></output>
<br><br>
<input type=”submit”>
</form>
Input Type Text
<input type="text">
defines a single-line text input field:
Example
<form>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname”><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname”>
</form>
This is how the HTML code above will be displayed in a browser:
First name:
Last name:
Input Type Password
<input type="password">
defines a password field:
Example
<form>
<label for=”username”>Username:</label><br>
<input type=”text” id=”username” name=”username”><br>
<label for=”pwd”>Password:</label><br>
<input type=”password” id=”pwd” name=”pwd”>
</form>
This is how the HTML code above will be displayed in a browser:
Username:
Password:
The characters in a password field are masked (shown as asterisks or circles).
Input Type Submit
<input type="submit">
defines a button for submitting form data to a form-handler.
The form-handler is typically a server page with a script for processing input data.
The form-handler is specified in the form’s action
attribute:
Example
<form action=”/action_page.php”>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” value=”John”><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname” value=”Doe”><br><br>
<input type=”submit” value=”Submit”>
</form>
This is how the HTML code above will be displayed in a browser:
If you omit the submit button’s value attribute, the button will get a default text:
Example
<form action=”/action_page.php”>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” value=”John”><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname” value=”Doe”><br><br>
<input type=”submit”>
</form>
Input Type Reset
<input type="reset">
defines a reset button that will reset all form values to their default values:
Example
<form action=”/action_page.php”>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” value=”John”><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname” value=”Doe”><br><br>
<input type=”submit” value=”Submit”>
<input type=”reset”>
</form>
This is how the HTML code above will be displayed in a browser:
If you change the input values and then click the “Reset” button, the form-data will be reset to the default values.
Input Type Radio
<input type="radio">
defines a radio button.
Radio buttons let a user select ONLY ONE of a limited number of choices:
Example
<p>Choose your favorite Web language:</p>
<form>
<input type=”radio” id=”html” name=”fav_language” value=”HTML”>
<label for=”html”>HTML</label><br>
<input type=”radio” id=”css” name=”fav_language” value=”CSS”>
<label for=”css”>CSS</label><br>
<input type=”radio” id=”javascript” name=”fav_language” value=”JavaScript”>
<label for=”javascript”>JavaScript</label>
</form>
This is how the HTML code above will be displayed in a browser:
Input Type Checkbox
<input type="checkbox">
defines a checkbox.
Checkboxes let a user select ZERO or MORE options of a limited number of choices.
Example
<form>
<input type=”checkbox” id=”vehicle1″ name=”vehicle1″ value=”Bike”>
<label for=”vehicle1″> I have a bike</label><br>
<input type=”checkbox” id=”vehicle2″ name=”vehicle2″ value=”Car”>
<label for=”vehicle2″> I have a car</label><br>
<input type=”checkbox” id=”vehicle3″ name=”vehicle3″ value=”Boat”>
<label for=”vehicle3″> I have a boat</label>
</form>
This is how the HTML code above will be displayed in a browser:
Input Type Button
<input type="button">
defines a button:
This is how the HTML code above will be displayed in a browser:
Input Type Color
The <input type="color">
is used for input fields that should contain a color.
Depending on browser support, a color picker can show up in the input field.
Example
<form>
<label for=”favcolor”>Select your favorite color:</label>
<input type=”color” id=”favcolor” name=”favcolor”>
</form>
Input Type Date
The <input type="date">
is used for input fields that should contain a date.
Depending on browser support, a date picker can show up in the input field.
Example
<form>
<label for=”birthday”>Birthday:</label>
<input type=”date” id=”birthday” name=”birthday”>
</form>
You can also use the min
and max
attributes to add restrictions to dates:
Example
<form>
<label for=”datemax”>Enter a date before 1980-01-01:</label>
<input type=”date” id=”datemax” name=”datemax” max=”1979-12-31″><br><br>
<label for=”datemin”>Enter a date after 2000-01-01:</label>
<input type=”date” id=”datemin” name=”datemin” min=”2000-01-02″>
</form>
Input Type Datetime-local
The <input type="datetime-local">
specifies a date and time input field, with no time zone.
Depending on browser support, a date picker can show up in the input field.
Example
<form>
<label for=”birthdaytime”>Birthday (date and time):</label>
<input type=”datetime-local” id=”birthdaytime” name=”birthdaytime”>
</form>
Input Type Email
The <input type="email">
is used for input fields that should contain an e-mail address.
Depending on browser support, the e-mail address can be automatically validated when submitted.
Some smartphones recognize the email type, and add “.com” to the keyboard to match email input.
Example
<form>
<label for=”email”>Enter your email:</label>
<input type=”email” id=”email” name=”email”>
</form>
Input Type Image
The <input type="image">
defines an image as a submit button.
The path to the image is specified in the src
attribute.
Example
<form>
<input type=”image” src=”img_submit.gif” alt=”Submit” width=”48″ height=”48″>
</form>
Input Type File
The <input type="file">
defines a file-select field and a “Browse” button for file uploads.
Example
<form>
<label for=”myfile”>Select a file:</label>
<input type=”file” id=”myfile” name=”myfile”>
</form>
Input Type Hidden
The <input type="hidden">
defines a hidden input field (not visible to a user).
A hidden field lets web developers include data that cannot be seen or modified by users when a form is submitted.
A hidden field often stores what database record that needs to be updated when the form is submitted.
Note: While the value is not displayed to the user in the page’s content, it is visible (and can be edited) using any browser’s developer tools or “View Source” functionality. Do not use hidden inputs as a form of security!
Example
<form>
<label for=”fname”>First name:</label>
<input type=”text” id=”fname” name=”fname”><br><br>
<input type=”hidden” id=”custId” name=”custId” value=”3487″>
<input type=”submit” value=”Submit”>
</form>
Input Type Month
The <input type="month">
allows the user to select a month and year.
Depending on browser support, a date picker can show up in the input field.
Example
<form>
<label for=”bdaymonth”>Birthday (month and year):</label>
<input type=”month” id=”bdaymonth” name=”bdaymonth”>
</form>
Input Type Number
The <input type="number">
defines a numeric input field.
You can also set restrictions on what numbers are accepted.
The following example displays a numeric input field, where you can enter a value from 1 to 5:
Example
<form>
<label for=”quantity”>Quantity (between 1 and 5):</label>
<input type=”number” id=”quantity” name=”quantity” min=”1″ max=”5″>
</form>
Input Restrictions
Here is a list of some common input restrictions:
Attribute | Description |
---|---|
checked | Specifies that an input field should be pre-selected when the page loads (for type=”checkbox” or type=”radio”) |
disabled | Specifies that an input field should be disabled |
max | Specifies the maximum value for an input field |
maxlength | Specifies the maximum number of character for an input field |
min | Specifies the minimum value for an input field |
pattern | Specifies a regular expression to check the input value against |
readonly | Specifies that an input field is read only (cannot be changed) |
required | Specifies that an input field is required (must be filled out) |
size | Specifies the width (in characters) of an input field |
step | Specifies the legal number intervals for an input field |
value | Specifies the default value for an input field |
You will learn more about input restrictions in the next chapter.
The following example displays a numeric input field, where you can enter a value from 0 to 100, in steps of 10. The default value is 30:
Example
<form>
<label for=”quantity”>Quantity:</label>
<input type=”number” id=”quantity” name=”quantity” min=”0″ max=”100″ step=”10″ value=”30″>
</form>
Input Type Range
The <input type="range">
defines a control for entering a number whose exact value is not important (like a slider control). Default range is 0 to 100. However, you can set restrictions on what numbers are accepted with the min
, max
, and step
attributes:
Example
<form>
<label for=”vol”>Volume (between 0 and 50):</label>
<input type=”range” id=”vol” name=”vol” min=”0″ max=”50″>
</form>
Input Type Search
The <input type="search">
is used for search fields (a search field behaves like a regular text field).
Example
<form>
<label for=”gsearch”>Search Google:</label>
<input type=”search” id=”gsearch” name=”gsearch”>
</form>
Input Type Tel
The <input type="tel">
is used for input fields that should contain a telephone number.
Example
<form>
<label for=”phone”>Enter your phone number:</label>
<input type=”tel” id=”phone” name=”phone” pattern=”[0-9]{3}-[0-9]{2}-[0-9]{3}”>
</form>
Input Type Time
The <input type="time">
allows the user to select a time (no time zone).
Depending on browser support, a time picker can show up in the input field.
Example
<form>
<label for=”appt”>Select a time:</label>
<input type=”time” id=”appt” name=”appt”>
</form>
Input Type Url
The <input type="url">
is used for input fields that should contain a URL address.
Depending on browser support, the url field can be automatically validated when submitted.
Some smartphones recognize the url type, and adds “.com” to the keyboard to match url input.
Example
<form>
<label for=”homepage”>Add your homepage:</label>
<input type=”url” id=”homepage” name=”homepage”>
</form>
Input Type Week
The <input type="week">
allows the user to select a week and year.
Depending on browser support, a date picker can show up in the input field.
Example
<form>
<label for=”week”>Select a week:</label>
<input type=”week” id=”week” name=”week”>
The value Attribute
The input value
attribute specifies an initial value for an input field:
Example
Input fields with initial (default) values:
<form>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” value=”John”><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname” value=”Doe”>
</form>
The readonly Attribute
The input readonly
attribute specifies that an input field is read-only.
A read-only input field cannot be modified (however, a user can tab to it, highlight it, and copy the text from it).
The value of a read-only input field will be sent when submitting the form!
Example
A read-only input field:
<form>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” value=”John” readonly><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname” value=”Doe”>
</form>
The disabled Attribute
The input disabled
attribute specifies that an input field should be disabled.
A disabled input field is unusable and un-clickable.
The value of a disabled input field will not be sent when submitting the form!
Example
A disabled input field:
<form>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” value=”John” disabled><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname” value=”Doe”>
</form>
The size Attribute
The input size
attribute specifies the visible width, in characters, of an input field.
The default value for size
is 20.
Note: The size
attribute works with the following input types: text, search, tel, url, email, and password.
Example
Set a width for an input field:
<form>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” size=”50″><br>
<label for=”pin”>PIN:</label><br>
<input type=”text” id=”pin” name=”pin” size=”4″>
</form>
The maxlength Attribute
The input maxlength
attribute specifies the maximum number of characters allowed in an input field.
Note: When a maxlength
is set, the input field will not accept more than the specified number of characters. However, this attribute does not provide any feedback. So, if you want to alert the user, you must write JavaScript code.
Example
Set a maximum length for an input field:
<form>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” size=”50″><br>
<label for=”pin”>PIN:</label><br>
<input type=”text” id=”pin” name=”pin” maxlength=”4″ size=”4″>
</form>
The min and max Attributes
The input min
and max
attributes specify the minimum and maximum values for an input field.
The min
and max
attributes work with the following input types: number, range, date, datetime-local, month, time and week.
Tip: Use the max and min attributes together to create a range of legal values.
Example
Set a max date, a min date, and a range of legal values:
<form>
<label for=”datemax”>Enter a date before 1980-01-01:</label>
<input type=”date” id=”datemax” name=”datemax” max=”1979-12-31″><br><br> <label for=”datemin”>Enter a date after 2000-01-01:</label>
<input type=”date” id=”datemin” name=”datemin” min=”2000-01-02″><br><br> <label for=”quantity”>Quantity (between 1 and 5):</label>
<input type=”number” id=”quantity” name=”quantity” min=”1″ max=”5″>
</form>
The multiple Attribute
The input multiple
attribute specifies that the user is allowed to enter more than one value in an input field.
The multiple
attribute works with the following input types: email, and file.
Example
A file upload field that accepts multiple values:
<form>
<label for=”files”>Select files:</label>
<input type=”file” id=”files” name=”files” multiple>
</form>
The pattern Attribute
The input pattern
attribute specifies a regular expression that the input field’s value is checked against, when the form is submitted.
The pattern
attribute works with the following input types: text, date, search, url, tel, email, and password.
Tip: Use the global title attribute to describe the pattern to help the user.
Tip: Learn more about regular expressions in our JavaScript tutorial.
Example
An input field that can contain only three letters (no numbers or special characters):
<form>
<label for=”country_code”>Country code:</label>
<input type=”text” id=”country_code” name=”country_code”
pattern=”[A-Za-z]{3}” title=”Three letter country code”>
</form>
The placeholder Attribute
The input placeholder
attribute specifies a short hint that describes the expected value of an input field (a sample value or a short description of the expected format).
The short hint is displayed in the input field before the user enters a value.
The placeholder
attribute works with the following input types: text, search, url, tel, email, and password.
Example
An input field with a placeholder text:
<form>
<label for=”phone”>Enter a phone number:</label>
<input type=”tel” id=”phone” name=”phone”
placeholder=”123-45-678″
pattern=”[0-9]{3}-[0-9]{2}-[0-9]{3}”>
</form>
The required Attribute
The input required
attribute specifies that an input field must be filled out before submitting the form.
The required
attribute works with the following input types: text, search, url, tel, email, password, date pickers, number, checkbox, radio, and file.
Example
A required input field:
<form>
<label for=”username”>Username:</label>
<input type=”text” id=”username” name=”username” required>
</form>
The step Attribute
The input step
attribute specifies the legal number intervals for an input field.
Example: if step=”3″, legal numbers could be -3, 0, 3, 6, etc.
Tip: This attribute can be used together with the max and min attributes to create a range of legal values.
The step
attribute works with the following input types: number, range, date, datetime-local, month, time and week.
Example
An input field with a specified legal number intervals:
<form>
<label for=”points”>Points:</label>
<input type=”number” id=”points” name=”points” step=”3″>
</form>
Note: Input restrictions are not foolproof, and JavaScript provides many ways to add illegal input. To safely restrict input, it must also be checked by the receiver (the server)!
The autofocus Attribute
The input autofocus
attribute specifies that an input field should automatically get focus when the page loads.
Example
Let the “First name” input field automatically get focus when the page loads:
<form>
<label for=”fname”>First name:</label><br>
<input type=”text” id=”fname” name=”fname” autofocus><br>
<label for=”lname”>Last name:</label><br>
<input type=”text” id=”lname” name=”lname”>
</form>
The height and width Attributes
The input height
and width
attributes specify the height and width of an <input type="image">
element.
Tip: Always specify both the height and width attributes for images. If height and width are set, the space required for the image is reserved when the page is loaded. Without these attributes, the browser does not know the size of the image, and cannot reserve the appropriate space to it. The effect will be that the page layout will change during loading (while the images load).
Example
Define an image as the submit button, with height and width attributes:
<form>
<label for=”fname”>First name:</label>
<input type=”text” id=”fname” name=”fname”><br><br>
<label for=”lname”>Last name:</label>
<input type=”text” id=”lname” name=”lname”><br><br>
<input type=”image” src=”img_submit.gif” alt=”Submit” width=”48″ height=”48″>
</form>
The list Attribute
The input list
attribute refers to a <datalist>
element that contains pre-defined options for an <input> element.
Example
An <input> element with pre-defined values in a <datalist>:
<form>
<input list=”browsers”>
<datalist id=”browsers”>
<option value=”Internet Explorer”>
<option value=”Firefox”>
<option value=”Chrome”>
<option value=”Opera”>
<option value=”Safari”>
</datalist>
</form>
The autocomplete Attribute
The input autocomplete
attribute specifies whether a form or an input field should have autocomplete on or off.
Autocomplete allows the browser to predict the value. When a user starts to type in a field, the browser should display options to fill in the field, based on earlier typed values.
The autocomplete
attribute works with <form>
and the following <input>
types: text, search, url, tel, email, password, datepickers, range, and color.
Example
An HTML form with autocomplete on, and off for one input field:
<form action=”/action_page.php” autocomplete=”on”>
<label for=”fname”>First name:</label>
<input type=”text” id=”fname” name=”fname”><br><br>
<label for=”lname”>Last name:</label>
<input type=”text” id=”lname” name=”lname”><br><br>
<label for=”email”>Email:</label>
<input type=”email” id=”email” name=”email” autocomplete=”off”><br><br>
<input type=”submit” value=”Submit”>
</form>
he HTML <audio> Element
To play an audio file in HTML, use the <audio>
element:
Example
<audio controls>
<source src=”horse.ogg” type=”audio/ogg”>
<source src=”horse.mp3″ type=”audio/mpeg”>
Your browser does not support the audio element.
</audio>
HTML Audio – How It Works
The controls
attribute adds audio controls, like play, pause, and volume.
The <source>
element allows you to specify alternative audio files which the browser may choose from. The browser will use the first recognized format.
The text between the <audio>
and </audio>
tags will only be displayed in browsers that do not support the <audio>
element.
HTML <audio> Autoplay
To start an audio file automatically, use the autoplay
attribute:
Example
<audio controls autoplay>
<source src=”horse.ogg” type=”audio/ogg”>
<source src=”horse.mp3″ type=”audio/mpeg”>
Your browser does not support the audio element.
</audio>
Note: Chromium browsers do not allow autoplay in most cases. However, muted autoplay is always allowed.
Add muted
after autoplay
to let your audio file start playing automatically (but muted):
Example
<audio controls autoplay muted>
<source src=”horse.ogg” type=”audio/ogg”>
<source src=”horse.mp3″ type=”audio/mpeg”>
Your browser does not support the audio element.
</audio>
The HTML <video> Element
To show a video in HTML, use the <video>
element:
Example
<video width=”320″ height=”240″ controls>
<source src=”movie.mp4″ type=”video/mp4″>
<source src=”movie.ogg” type=”video/ogg”>
Your browser does not support the video tag.
</video>
How it Works
The controls
attribute adds video controls, like play, pause, and volume.
It is a good idea to always include width
and height
attributes. If height and width are not set, the page might flicker while the video loads.
The <source>
element allows you to specify alternative video files which the browser may choose from. The browser will use the first recognized format.
The text between the <video>
and </video>
tags will only be displayed in browsers that do not support the <video>
element.
HTML <video> Autoplay
To start a video automatically, use the autoplay
attribute:
Example
<video width=”320″ height=”240″ autoplay>
<source src=”movie.mp4″ type=”video/mp4″>
<source src=”movie.ogg” type=”video/ogg”>
Your browser does not support the video tag.
</video>
Note: Chromium browsers do not allow autoplay in most cases. However, muted autoplay is always allowed.
Add muted
after autoplay
to let your video start playing automatically (but muted):
Example
<video width=”320″ height=”240″ autoplay muted>
<source src=”movie.mp4″ type=”video/mp4″>
<source src=”movie.ogg” type=”video/ogg”>
Your browser does not support the video tag.
</video>
- Introduction to Functions A function is a block of reusable code that performs a specific task. It allows you to encapsulate a set of instructions and execute them whenever needed. Functions help in modularizing code, promoting code reuse, and improving code organization.
- Function Declaration In JavaScript, you can declare a function using the
function
keyword followed by the function name, parentheses for parameters (if any), and curly braces to define the function body.
Example:
function greet() {
console.log("Hello!");
}
In this example, the function greet
does not take any parameters and simply logs “Hello!” to the console.
- Function Invocation To execute a function, you need to invoke or call it by using its name followed by parentheses.
Example:
greet(); // Outputs: Hello!
Calling the greet()
function executes the code inside its function body, resulting in the message “Hello!” being logged to the console.
- Function Parameters and Arguments Functions can accept inputs called parameters, which act as placeholders for values that will be passed when invoking the function. These values are referred to as arguments.
Example:
function greet(name) {
console.log("Hello, " + name + "!");
}
In this updated greet
function, a name
parameter is defined. When invoking the function, you need to provide an argument for the name
parameter.
greet("Alice"); // Outputs: Hello, Alice!
greet("Bob"); // Outputs: Hello, Bob!
- Return Statement Functions can produce a value or result using the
return
statement. Thereturn
statement terminates the function execution and returns a value back to the caller.
Example:
function add(a, b) {
return a + b;
}
The add
function takes two parameters a
and b
and returns their sum. To capture the returned value, you can assign it to a variable or use it in expressions.
var result = add(2, 3);
console.log(result); // Outputs: 5
- Anonymous Functions and Function Expressions JavaScript also allows the creation of anonymous functions, which are functions without a specific name. They are often used as function expressions, where they are assigned to variables.
Example:
var greet = function(name) {
console.log("Hello, " + name + "!");
};
In this example, the function is assigned to the variable greet
. You can then invoke it using the variable name followed by parentheses.
greet("Alice"); // Outputs: Hello, Alice!
- Arrow Functions ES6 introduced arrow functions, which provide a concise syntax for writing functions. They are especially useful for shorter function expressions.
Example:
var multiply = (a, b) => a * b;
The arrow function multiply
takes two parameters a
and b
and returns their product. It does not require the function
keyword, curly braces, or a return
statement for a concise one-line function.
var result = multiply(2, 3);
console.log(result); // Outputs: 6
- Higher-Order Functions In JavaScript, functions are first-class citizens, meaning they can be assigned to variables, passed as arguments to other functions, and returned from functions. Functions that operate on other functions are called higher-order functions
Leave A Comment