To call a JavaScript function from HTML, we can add an onclick event in our HTML code that will fire a function when the HTML element is clicked on.
We can also use the onmouseover event to call a function when the user moves a mouse over an HTML element.
There are other ways you can call a JavaScript function in HTML, but these are the two methods we find the easiest and most practical.
Using the onclick event to call a JavaScript function in HTML
Below is an example of how we can create a function that adds two numbers, and then execute the function when a user clicks on a button we create. We will call the JavaScript function we create using an onclick event that we will attach to the HTML button.
Enter two numbers below. Click Submit to have the added value of the numbers displayed:
Below we will write our function. Because the button has onclick=”addNumbers()”, the addNumbers function, which we will create below, will run when the button is clicked. The function will add the two numbers that the user enters together and display the result. If something other than a number is entered, NaN will be returned.
function addNumbers() {
var num1 = document.getElementById("userVal1").value;
var num2 = document.getElementById("userVal2").value;
var total = Number(num1) + Number(num2);
document.getElementById("results").textContent = total;
}
The final code and output for this example is below:
Code Output:
Enter two numbers below. Click Submit to have the added value of the numbers displayed:
Full Code:
Enter two numbers below. Click Submit to have the added value of the numbers displayed:
<script>
function addNumbers() {
var num1 = document.getElementById("userVal1").value;
var num2 = document.getElementById("userVal2").value;
var total = Number(num1) + Number(num2);
document.getElementById("results").textContent = total;
}
</script>
Using the onmouseover event to call a JavaScript function in HTML
Finally, we will create a simple example to show how to fire a function from HTML with the onmouseover event. We will have a rectangle div with a green background. When the user hovers over the box, we will change the background color to blue. Here is the HTML code:
Hover over the box below to change its color.
When the user hovers over our div, we will run the via the onmouseover event. The function will work like this:
function changeBGcolor() {
document.getElementById("rect1").style.backgroundColor = 'blue';
}
The final code and output for this example is below:
Code Output:
Hover over the box below to change its color.
Full Code:
Hover over the box below to change its color.
<script>
function changeBGcolor() {
document.getElementById("rect1").style.backgroundColor = 'blue';
}
</script>
Hopefully this article has been useful in helping you learn how to call a javascript function from HTML.