Ir para conteúdo

POWERED BY:

Arquivado

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

gabrielsor

Pegar valor de varios campos gerados atraves de loop e somar

Recommended Posts

Salve galera, é o seguinte, tenho um txtbox que é gerado atraves de um loop. O usuário entra com um número, por exemplo 5, e 5 txtbox são geradas a partir de uma já criada com o nome de "certificado1", eu achoo, me corrijam se eu estiver errado, que como os demais txtbos serão criados a partir dessa, o nome das seguintes serão: "certificado2", "certificado3", etc...

Agora é que vem o problema. Depois de geradas as txtbox, o usuário irá entrar com valores numéricos, e AUTOMATICAMENTE esses valores tem que serem somados e exibidos em outro txtbox.

Fiz um código, porém o mesmo só funciona se o usuário escolher para serem geradas 1 txtbox, e o que eu preciso é que ele funcione com 5, 6, 10, 200 txtbox..., tentei fazer um loop que mudasse o X do "document.form2.CERTIFICADOX.value" porém não tive sucesso. Por isso peço a ajuda de vcs... Imagem Postada

 

Segue o código que funciona com somente 1 txtbox...

 

<form name="form2" method="get" action="altera_orc2.asp"><%Do While Not objRS.EOF%><input name="certificado1" type="text" class="form" id="certificado1" onChange="calcular()"><% objRS.MoveNext Loop%></form><script>function calcular(){    valor = document.form2.certificado1.value;    alert (valor);}</script>
É isso ai pessoal, fico no aguardo da ajuda de vcs...vlwww Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

<html>
<head>
<script type="text/javascript"> 
function id( el ){
	return document.getElementById( el );
}
function soma(){
	var inputs = id('campos').getElementsByTagName('input');
	
	var soma =0;
	for( var i=0; i<inputs.length; i++ ){
		soma += parseInt( inputs[i].value );
	}
	id('resultado').value = soma;
}
window.onload = function(){
	id('somar').onclick = function(){
		soma();
	}
}
</script>
</head>
<body>
	<form action="" method="post">
		<fieldset id="campos">
			<label><input type="text" name="valor[]" value="2" /></label>
			<label><input type="text" name="valor[]" value="5" /></label>
			<label><input type="text" name="valor[]" value="8" /></label>
			<label><input type="text" name="valor[]" value="9" /></label>
			<label><input type="text" name="valor[]" value="1" /></label>		
		</fieldset>
		
		<input type="button" name="somar" id="somar" value="Somar" />
		<label>Total Soma: <input type="text" name="resultado" id="resultado" /></label>
	</form>
</body>
</html>
a função que fiz, sempre vai somar todos os inputs, que estiverem dentro desse fieldset #campos, sem importar a quantidade de inputs

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.