Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to create a button in JavaScript

Creating a button in JavaScript might seem a bit intimidating if you are just starting to learn programming, but don't worry! In this blog, we will break down the process into simple steps and explain each one in detail. By the end, you will have a better understanding of how to create and use buttons in JavaScript, along with a few practical examples to help you get started.

What is a Button?

A button is a clickable element on a webpage that performs a specific action when a user clicks on it. Buttons are commonly used for things like submitting forms, opening new pages, or triggering some action on the current page. In this guide, we will focus on creating buttons using JavaScript and HTML.

What is JavaScript?

JavaScript is a programming language commonly used alongside HTML and CSS to create interactive web pages. It allows you to add functionality and interactivity to your website, such as creating buttons, handling user input, and updating the content of your page in response to user actions.

Creating a Button with HTML

Before diving into JavaScript, let's start with the basics and create a simple button using HTML. HTML stands for HyperText Markup Language and is used to structure content on the web. To create a button in HTML, you can use the <button> tag. Here's an example:

<button>Click me!</button>

When you add this code to your HTML file and open it in a web browser, you will see a simple button with the text "Click me!" on it. However, this button does not have any functionality attached to it yet. That's where JavaScript comes in!

Adding Functionality with JavaScript

To add functionality to our button, we will need to use JavaScript. First, let's create a new JavaScript file called script.js and link it to our HTML file. You can link the JavaScript file using the <script> tag, like this:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>JavaScript Button Example</title>
</head>
<body>
  <button>Click me!</button>

  <script src="script.js"></script>
</body>
</html>

Now that our JavaScript file is linked to our HTML, we can start adding functionality to our button. We will do this by adding an event listener to the button. An event listener is a function that "listens" for a specific event, like a button click, and then performs a specific action when the event occurs.

In our script.js file, let's write a function that will be called when the button is clicked:

function onButtonClick() {
  alert('Button clicked!');
}

This function will display a pop-up alert with the message "Button clicked!" when it is called.

Next, we need to add an event listener to our button so that the onButtonClick function is called when the button is clicked. To do this, we will first need to select the button element from our HTML file. We can do this using JavaScript's querySelector method, like this:

const button = document.querySelector('button');

Now that we have a reference to the button element, we can add an event listener to it. We will use the addEventListener method, which takes two arguments: the type of event to listen for (in this case, a 'click' event), and the function to call when the event occurs (our onButtonClick function). Here's the complete code for our script.js file:

function onButtonClick() {
  alert('Button clicked!');
}

const button = document.querySelector('button');
button.addEventListener('click', onButtonClick);

Now, when you open your HTML file in a web browser and click the button, you should see the alert pop-up with the message "Button clicked!".

Creating a Button with JavaScript

In the previous example, we created a button using HTML and added functionality to it using JavaScript. However, it is also possible to create a button entirely using JavaScript. To do this, we will use the createElement method, which creates a new HTML element of the specified type.

In our script.js file, let's create a new button element and add it to the page:

const newButton = document.createElement('button');
newButton.textContent = 'Click me!';
document.body.appendChild(newButton);

Here's what each line of code does:

  1. We create a new button element using document.createElement('button').
  2. We set the text content of the button to 'Click me!' using the textContent property.
  3. We add the button to the body of the HTML document using the appendChild method.

Now, if you refresh your HTML file in the web browser, you should see a second button with the text "Click me!". However, this button does not have any functionality attached to it yet. Just like in the previous example, we can add an event listener to the button to give it some functionality:

newButton.addEventListener('click', () => {
  alert('New button clicked!');
});

This code adds an event listener to the new button that displays an alert with the message "New button clicked!" when the button is clicked. Note that we used an arrow function (() => { ... }) instead of a regular function like in the previous example. Arrow functions are a more concise way to write functions in JavaScript and can be useful for short, simple functions like event listeners.

Here's the complete code for our script.js file:

function onButtonClick() {
  alert('Button clicked!');
}

const button = document.querySelector('button');
button.addEventListener('click', onButtonClick);

const newButton = document.createElement('button');
newButton.textContent = 'Click me!';
document.body.appendChild(newButton);

newButton.addEventListener('click', () => {
  alert('New button clicked!');
});

Now, when you open your HTML file in a web browser and click the second button, you should see the alert pop-up with the message "New button clicked!".

Conclusion

In this blog, we learned how to create buttons using both HTML and JavaScript and how to add functionality to them using event listeners. We also discussed some basic concepts like functions, arrow functions, and event listeners. We hope this guide has given you a better understanding of how to create and use buttons in JavaScript and inspired you to create your own interactive web pages.

As you continue to learn programming and explore JavaScript, you will encounter many more ways to create interactive elements on your web pages and build more complex applications. Remember to be patient with yourself, practice often, and don't be afraid to ask for help or look up resources online when you need it. Good luck and happy coding!