Ir para conteúdo

Arquivado

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

João Paulo Hildebrand

Array em Input do tipo texto

Recommended Posts

Boa tarde pessoal,

Gostaria de uma ajuda de como faço um array de um campo de formulário? Vou explicar melhor.
- Um formulário onde a cada clique no botão enviar, o JS gravasse o conteúdo de um input em uma variável (vetor) para que eu possa recuperá-la depois.

Atualmente, estou tentando fazer da seguinte forma:

<script type="text/javascript">
	function cadastrar(){
		var material = new Array();
		for(i = 0; i < 3; i++){
			material[i] = dmtrade("input[name='material1']").val();
			alert(material[i]);
		};
	};
</script>

<input type="text" name="material1" class="teste" />
<input type="button" name="cadastrar" value="Cadastrar" class="botao" onclick="cadastrar() "/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input type="text" name="material1" class="teste" />
<input type="button" name="cadastrar" value="Cadastrar" class="botao" onclick="cadastrar() "/>


<script type="text/javascript">
var material = new Array(),
    $input = document.querySelector("input[name='material1']");

function cadastrar(){
    material.push($input.value);
    alert(material);
};
</script>

note que o array deve ser de escopo global para não ser reiniciado, e a tag script vem depois do html, para esperar o DOM existir.

 

ps: o script acima não tem dependência de jQuery

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeeu Bruno!

 

 

Reputação = UP!

 

 

Pela rapidez e precisão na resposta.

 

 

Bruno, sei que é burrice minha. Mas como coloco esse código em um for?

Adaptei seu código a minha necessidade e resultei em:

 

<input type="text" name="material" id="teste" />
<input type="button" value="Cadastrar" onclick="cadastrar() "/>

<script type="text/javascript">
var material = new Array();
function cadastrar(){
	material.push(document.getElementById("teste").value);
	document.getElementById("cont").innerHTML = "<p>" + material + "<br /></p>";
};
</script>


<div id="cont"></div><br />

 

Mas preciso de um loop. Poderia me auxiliar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq vc precisa de um loop ?

 

como é o seu html ?

document.getElementById("cont").innerHTML += "<p>" + material + "<br /></p>";

coloquei += para não apagar o conteudo toda vez q clicar, mas sim concatenar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se estou pensando corretamente. Mas é que meu formulário terá vários campos para serem preenchidos, e no final 2 botões.

O primeiro botão, pegaria os valores de todos os campos e armazenaria nas variáveis (vetores). Já o segundo botão, seria o submit oficial do form.

 

Estou errado em usar o loop? Não é necessário? É que no final de todo o processo, pegarei alguns valores e farei contas.

 

Ou seja, no final de tudo farei mais ou menos assim: a[1] + a[2] ...

 

Sei que a sintaxe está errada, mas só para ilustrar mesmo..

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.