Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Pesronalização de labels num formulário com múltiplos campos

Olá pessoal, recentemente consegui através dessa comunidade resolver um problema que eu estava tendo, sobre clicar num campo com um determinado placeholder, e este place holder virar a label, logo acima do campo.

O código de exemplo que fizeram para mim foi esse:

<!DOCTYPE html>
<html>
<body>

<form>
  <label for="input"></label> <br>
  <input id="input" type="text" name="fname" placeholder="Primeiro Nome"><br>
  <br>
</form>
    <script>
    let input = document.querySelector("#input");
    input.addEventListener('focusin', function(){
        let label = document.querySelector('label[for="input"]');
        label.textContent = input.placeholder;
        input.placeholder = '';
    });
    input.addEventListener('focusout', function(){
        let label = document.querySelector('label[for="input"]');
        input.placeholder = label.textContent;
        label.textContent = '';
    });
    </script>
</body>
</html>

E funcionou perfeitamente! Porém no meu código existem 4 labels e cada uma possui um ID diferente.

Como eu poderia alterar este código pra que os 4 campos e labels se comportassem da mesma forma?

Desde já agradeço a atenção e empenho das pessoas deste fórum! :)

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Oi Renan tudo bem?

Você pode criar funções. Dá uma olhada em outro tópico que usei funções para executar javascripts individualmente em cada elemento.

https://cursos.alura.com.br/forum/topico-como-fazer-para-o-input-manter-o-valor-apos-a-submissao-84096

Se mesmo assim estiver com dificuldade coloca seu projeto no github para analisarmos.