When I use IDs in my HTML and select them in my javascript code with the getElementByID, my code works, but when I change them to classes my code does not work anymore.
I would like to use classes because I am working on a project with someone else who prefers classes.
Also, does it make a difference using classes vs IDs for javascript code?
const email = document.getElementsByClassName('email');
const form = document.getElementsByClassName('form');
const emailMessage = document.getElementsByClassName('empty-email-message');
const errorEmail = document.getElementsByClassName('invalid-email-message');
form.addEventListener('submit', e => {
if (!email.value) {
e.preventDefault();
emailMessage.innerHTML = 'where is the email';
} else {
emailMessage.innerHTML = '';
// return true;
}
});
<form class="form" id="form" action="submit">
<input class="email" type="email"/>
<button type="submit">Go</button>
<!-- dont use id -->
<p class="empty-email-message"></p>
<p class="invalid-email-message"></p>
</form>
const email = document.getElementById('email');
const form = document.getElementById('form');
const emailMessage = document.getElementById('empty-email-message');
const errorEmail = document.getElementById('invalid-email-message');
form.addEventListener('submit', e => {
if (!email.value) {
e.preventDefault();
emailMessage.innerHTML = 'where is the email';
} else {
emailMessage.innerHTML = '';
// return true;
}
});
<form class="form" id="form" action="submit">
<input id="email" type="email"/>
<button type="submit">Go</button>
<!-- dont use id -->
<p id="empty-email-message"></p>
<p id="invalid-email-message"></p>
</form>