Oi, Daniel, tudo bem?
A questão aqui parece ser que o botão para mostrar a senha está sendo interpretado como um botão de submit, que é o comportamento padrão para botões em um formulário se não especificado de outra forma. Para corrigir isso, você pode especificar o tipo do botão como "button". Isso impedirá que ele envie o formulário quando clicado. Aqui está como você pode ajustar seu código:
<form>
<fieldset>
<label for="senha">Senha:</label>
<input type="password" id="senha" name="senha" minlength="6" required>
<!-- Especifique o tipo do botão como 'button' para evitar que ele submeta o formulário -->
<button type="button" onclick="funcaoToggle()">Mostrar senha</button>
</fieldset>
<fieldset>
<input type="submit" id="submit" name="submit">
</fieldset>
</form>
E sobre a função funcaoToggle()
, você precisará definir essa função em seu JavaScript para que ela alterne o atributo type
do input de senha entre password
e text
. Aqui está um exemplo simples de como essa função pode ser escrita:
function funcaoToggle() {
var senha = document.getElementById('senha');
if (senha.type === 'password') {
senha.type = 'text';
} else {
senha.type = 'password';
}
}
Com essa abordagem, o botão para mostrar a senha não afetará o envio do formulário, e o botão de envio continuará funcionando normalmente.
Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!