Vanilla JavaScript toggleAttribute

I'm a full-stack developer from South Africa 🇿🇦. I love writing about JavaScript, HTML and CSS.
Search for a command to run...

I'm a full-stack developer from South Africa 🇿🇦. I love writing about JavaScript, HTML and CSS.
No comments yet. Be the first to comment.
Most of you know me for my consistency, a golden arrow in my blog series. I've written 1000 articles in 1008 days! Almost an article a day, and my honeymoon was the only holiday I ever took. I'm super proud of this achievement; it has been a fantasti...

It's not the first time I'll be talking about community. I think it's an essential aspect of any successful tool. This shows in my previous explorations of Astro, Medusa, and now Vendure as well. All these products thrive in a super open, welcoming, ...

The cool part about Vendure is how easy it is to set up and how abstract each layer is. Basically, we get the following elements: External database Server Worker Admin UI Frontend While this is amazing, it also brings a bit of complexity when it co...

The previous article looked at customizing Vendure on a data and process level. In this article, we'll look at customizing emails, as they are often a big part of a webshop system. We'll be looking at two different layers of customization for customi...

Even though Vendure is a pretty significant project out of the box, in some cases, we might want to go in and modify some elements to work to our specific use case. In this article, I'll take a high-level look at some elements we can customize within...

In todays article we are going to look into the JavaScript toggleAttribute() method. This method is pretty self explaining, but it can be used to toggle a boolean attribute value.
What kind of attributes? We can think about a readonly value, required value, for instance.
In today's topic, we will look into toggling the readonly and required values of an input.
<label
>Required + ! ReadOnly
<input id="inp-01" value="fuu" required />
</label>
<br /><br />
<label
>! Required + ReadOnly
<input id="inp-02" value="bar" readonly />
</label>
<br /><br />
<button onclick="toggleRequired()">Toggle Required</button>
<button onclick="toggleReadOnly()">Toggle ReadOnly</button>
So, we are having two inputs. One will be default required but not readonly and two will be the other way around. Then we'll add two buttons which will toggle Required and Readonly attributes.
For the JavaScript we first get the two inputs and then define our two functions:
var input01 = document.getElementById('inp-01');
var input02 = document.getElementById('inp-02');
function toggleRequired() {
input01.toggleAttribute('required');
input02.toggleAttribute('required');
}
function toggleReadOnly() {
input01.toggleAttribute('readonly');
input02.toggleAttribute('readonly');
}
There we go, we can now toggle the attributes on these inputs!
View it in action on Codepen.
The method is not supported in IE (😞), but we can use a Polyfill for it!
Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter