Oi gente! Estou fazendo um projeto onde coloco uma div dentro de um form. Dentro dessa div eu tenho dois botões que funcionam como abas, tal qual o exemplo. Estou tentando aplicar o js para ativar e inativas os botões, porém, por estar dentro do form, não funciona. Testei fora do form e ele funciona direitinho. Qual seria a solução para esse caso? Não consegui descobrir o que fazer. Coloquei os códigos abaixo, salvei em um teste para diminuir o código.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="main">
<form action="">
<div class="main__tab">
<button class="main__tab-button ativa" data-aba="colaborador">Colaborador</button>
<button class="main__tab-button" data-aba="rh">RH</button>
</div>
</form>
</main>
<script src="./main.js"></script>
</body>
</html>
.main {
background-color: pink;
}
.main__tab {
border: 1px solid red;
}
.main__tab-button {
background-color: blue;
padding: 20px;
cursor: pointer;
}
.ativa {
background-color: aqua;
}
(() => {
const abas = document.querySelectorAll("[data-aba]");
inativarAbas = () => {
abas.forEach((aba) => aba.classList.remove("ativa"));
};
ativarAbas = (aba) => {
aba.classList.add("ativa");
}
abas.forEach((aba) =>
aba.addEventListener("click", () => {
inativarAbas();
ativarAbas(aba);
})
);
})();