Foto de Carolina G.
Carolina há 1 ano
Enviada pelo
Site

Criando formulário com javascript

Quero criar um botão `adicionar` que quando clicado pede as informações de 5 pessoas num formulário e outro botão consequente que diz `mostrar`, que mostra o array que tem todas as pessoas introduzidas!

Não consigo entender porque não está aparecendo o formulário com todos os campos, podem me ajudar?

Segue código HTML:

<div class="container">
<buttononclick="persona()"class="btn btn-primary"id="btn_form">Adicionar</button>
<buttononclick="infoPersona()"class="btn btn-secondary">Mostrar</button>
<formid="my_form">
<!-- <fieldset>
<div class="form-group">
<label> Nome</label>
<input class="form-control" placeholder="Digite seu nome" type="text">
</div>
<div class="form-group">
<label>Apelido</label>
<input class="form-control" placeholder="Seu Apelido" type="text">
</div>
<div class="form-group">
<label> Idade</label>
<input class="form-control" placeholder="Qual a sua idade" type="text">
</div>
<input type="submit">
</fieldset> -->
</form>
</div>
Agora o JS:
 
const persona = () => {

//Criando form
constform=document.getElementById('my_form')

//Criando a label
constlabelElement=document.createElement('label')

labelElement.innerHTML+="<label>Nome:</label>"

form.appendChild(labelElement)

//Criando input
constinputElement=document.createElement('input')

inputElement.type='text'

inputElement.className='form-control'

inputElement.placeholder='Digite seu nome'

form.appendChild(inputElement)

 

constlabelElement1=document.createElement('label')

labelElement1.innerHTML+="<label>Apelido:</label>"

form.appendChild(labelElement)


constinputElement1=document.createElement('input')

inputElement1.type='text'

inputElement1.className='form-control'

inputElement1.placeholder='Digite seu apelido'

form.appendChild(inputElement)



constlabelElement2=document.createElement('label')

labelElement2.innerHTML+="<label>Idade:</label>"

form.appendChild(labelElement)


constinputElement2=document.createElement('input')

inputElement2.type='text'

inputElement2.className='form-control'

inputElement2.placeholder='Qual a sua idade'

form.appendChild(inputElement)


//Criando botão
constinputElement3=document.createElement('input')

inputElement2.type='submit'

inputElement2.className='form-control'

inputElement2.placeholder='Enviar'

form.appendChild(inputElement)

}
4 respostas
Professor Andre R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Andre

Posso estar enganado,mas acho que tem bastante coisa para consertar.
sugiro que abra uma tarefa para essa atividade.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Professor Rodrigo S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Rodrigo

remove o codigo comentado
<!--  -->

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Eduardo T.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 10 meses
Contatar Eduardo

Carolina, tem algumas tags que estão juntas aos atributos, e precisam de espaço, como os botões.
Tire esse comentário também, pois assim vão aparecer os campos.
Para colocar as pessoas quando clicar no botão "mostrar", ti vai precisar criar uma função que vai inserir um HTML(com um layou que desejar) para cada pessoa do array que fez.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Elias G.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 9 meses
Contatar Elias

Olá, também sugiro que vc abra uma tarefa para o seu caso, pois há erros que só mesmo debugando linha por linha até achar.

Entre eles esses que até alguns amigos aí já disseram: 

  1. No HTML, você está comentando todo o formulário, incluindo os campos de entrada. Isso faz com que nenhum campo seja exibido na página. Remova os comentários para que os campos sejam visíveis.

  2. No JavaScript, há alguns erros de digitação e lógica que precisam ser corrigidos:

    • Ao criar os elementos de input e de label para o apelido e idade, você está reutilizando as variáveis labelElement e inputElement, o que está causando um problema. Cada vez que você cria um novo elemento, deve usar uma nova variável para armazená-lo.

    • No final da função persona, você está criando um novo input para o botão de envio, mas está utilizando as variáveis erradas (inputElement2 em vez de inputElement3). Além disso, o tipo do input deveria ser 'submit', não 'text'.

    • No botão 'Mostrar', você chamou a função infoPersona(), mas essa função não está definida no seu código.


      * Certifique-se de implementar a lógica necessária dentro da função infoPersona() para exibir as informações das pessoas introduzidas.


      Espero ter ajudado!

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor