Pegar dados de formulário HTML
29/01/2013
0
Estou aqui com uma dúvida que acho que é bastante simples (não pra mim rsrs).
Tenho um form HTML com alguns campos e, ao clicar no botão submit, preciso pegar os dados dos campos e montar um string. Tipo assim:
Nome: nome da pessoa; Telefone: telefone da pessoa; Email: email da pessoa;
Existe uma forma de, sei lá, percorrer o formulário e pegar esses valores, identificando a que campo cada um se refere? Quero dizer: pegar o valo de um input e saber que ele é o do Nome ou Telefone, para montar o string.
Grata.
Carla Batista
Posts
29/01/2013
Joel Rodrigues
Você poderia mostrar o código do seu formulário? Assim fica mais fácil pra tentar te ajudar.
29/01/2013
Danilo Gomes
29/01/2013
Carla Batista
<form> Nome: <input type="text" id="txtnome"/> <br/> Telefone: <input type="text" id="txttelefone"/> <br/> Email: <input type="text" id="txtemail"/> <br/> <input type="submit" value="enviar"/> </form>
No caso, ao clicar no submit, queria montar um string com os dados dos três campos.
Obrigada mais uma vez.
29/01/2013
Danilo Gomes
function enviar(){ var nome = document.getElementById("txtnome"); var telefone = document.getElementById("txttelefone"); var email = document.getElementById("txtemail"); var texto = nome + telefone + email; // como quiser formatar return true; }
E seu form pode ter um evento onsubmit que pegue o retorno dessa função.
Se for true, ele faz o submit, senão, não faz.
Isso pode ficar:
29/01/2013
Joel Rodrigues
29/01/2013
Joel Rodrigues
function enviar(){ var nome = document.getElementById("txtnome").value; var telefone = document.getElementById("txttelefone").value; var email = document.getElementById("txtemail").value; var texto = "Nome: " +nome + "; Telefone: "+ telefone + "; Email: "+email; // como quiser formatar return true; }
Teste e nos dê um retorno. Boa sorte.
29/01/2013
Carla Batista
Agora sem querer abusar, se o meu form for crescendo, eu vou ter de fazer pra todos os campos, né?
Tudo bem que não dá muito trabalho, mas teria uma forma de fazer algo mais genérico?
Grata.
30/01/2013
Danilo Gomes
https://developer.mozilla.org/en-US/docs/DOM/element.getElementsByTagName
Vai te retornar uma coleção de elementos se fizer document.getElementsByTagName('input').
Para cada elemento, pode acrescentar um atributo "alt" que descreva aquele campo (em seu formulário).
Poderia fazer algo similar a (se tiver algo errado, corrijam):
for (i=0; i<itens.length; i++){ itens[i].getAttribute("alt") + ": " + itens[i].getAttribute("value"); }
Uma alternativa é conhecer o jQuery, que facilitaria bastante esse trabalho.
30/01/2013
Carla Batista
Seria assim:
itens = getElementsByTagName(input);
E depois fazer esse for?
31/01/2013
Danilo Gomes
31/01/2013
Carla Batista
Podem encerrar este tópico, por favor.
31/01/2013
Joel Rodrigues
Nesse caso estou encerrando o tópico.
Clique aqui para fazer login e interagir na Comunidade :)