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! :)

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.