Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diego.djss

Qual a maneira mais correta de capturar dados de um form.

Recommended Posts

Minha dúvida é bem simples, andei pesquisando e vi varias maneiras de capturar o valor de um input com JavaScript, mais finalmente qual é a mais correta?

 

Exemplo que pesquisei:

 

attr

document.getElementById

document.getElementsByName

$(input[name=NAME DO INPUT])

 

Provavelmente têm mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende do que vc quer fazer.

 

Se você possuir dois forms numa página (ids: form1 e form2 -- consulte o padrão do HTML 4.01, pois a tag form não deve ter o atributo name, mas id), pode ter form1.nome e form2.nome, sendo "nome" o valor do atributo name.

Nesse caso, getElementsByName('nome') irá capturar ambos, mas vc terá um pouco mais de trabalho para distinguir quem veio de qual formulário. Ao utilizar getElementById('form1'), vc pode acessar os campos referenciando o atributo "name": var a = getElementById("form1"); console.log(a.nome)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Coloquei assim, ficou bom?


var login = document.getElementById('txtloginC').value;

var password = document.getElementById('txtpasswordC').value;

var checkPassword = document.getElementById('txtcheckPasswordC').value;

var nome = document.getElementById('txtnomeC').value;

var email = document.getElementById('txte-mailC').value;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você também pode fazer a alternativa que _Isis_, ficaria dessa forma (na minha opinião o código fica bem mais limpo e sem repetição):

 

 

var meuForm = document.getElementById('meu_form');
login = meuForm.login.value;

 

Nesse caso, dado determinado formulário, ele referencia os campo pelo atributo name (e você não precisa colocar id nos campos, só no formulário).

 

Se você vai enviar estes dados em alguma consulta JSON recomendo que você serialize este formulário, é mais rápido e você não precisa ficar pegando campo por campo, ele serializa todos.

 

Com JQuery: https://api.jquery.com/serialize/‎

 

Sem JQuery: http://stackoverflow.com/questions/11661187/form-serialize-javascript-no-framework

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.