Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

fazer loop e depois somar tudo!

Recommended Posts

Não sei como fazer, mas queria saber se esse script tem como fazer isso:

 

Veja que tem um loop onde esse valortotalitem é um campo do form e que vai se multiplicando de acordo com loop, se o loop for de for i=1 to 4, por exemplo, ele vai gerar 4 campos valortotalitem...

 

Beleza, esse Loop é capaz de ir gerando os campos valortotalitem e contando com o <%=i%> para informar que são campos duplicados, mas com o Name do campo diferentes...

 

Agora como fazer somar esses campos depois de o loop terminar? Cada campo gerado pelo loop a pessoa vai digitar em moeda R$ um valor, tipo 20,00 e se for dois loops serão dois campos digitados 20,00

 

Campo valortotalitem1: 20,00

Campovalortotalitem2: 20,00

 

Aí eu estou chamando a função abaixo para somar esses campos com loops acima, veja:

 

function soma<%=i%>(){
	var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>');
	var valor<%=i%> = document.getElementById('valor<%=i%>');
 var quantidadev<%=i%> = document.form.unidades<%=i%>.value;
	
	valortotalitem<%=i%>.value = parseFloat(valor<%=i%>.value.replace(',','.')) * quantidadev<%=i%>;

	valortotalitem<%=i%>.value = fmtMoney(valortotalitem<%=i%>.value);
	
	window.onload=soma1<%=i%>()
	 
}
function soma1<%=i%>(){

var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>')

 var campo6 = document.getElementById('campo6');
		
	campo6.value = parseFloat(valortotalitem<%=i%>.value.replace(',','.')) + parseFloat(valortotalitem<%=i%>.value.replace(',','.'))

	campo6.value = fmtMoney(campo6.value);
	}
						</script>

Mas o que acontece é que não funciona... acho que eu deveria ir guardando as informações dos campos gerados para somar tudo, tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

A meu ver (não sou perito nem nada, ando a aprender) acho que cada valor poderia ser gravado em vector, depois apenas somaria o valor de todos os vectores, espécie de loop de leitura dos vectores.

Corrijam-me se estou enganado ;).

 

Cumprimentos,

webflex

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que deu uma idéia, mas não entendi bem... veja meu loop

 

<%for i=1 to session("qtitem"%>

function soma1<%=i%>(){

var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>')

 var campo6 = document.getElementById('campo6');
		
	campo6.value = parseFloat(valortotalitem<%=i%>.value.replace(',','.')) + parseFloat(valortotalitem<%=i%>.value.replace(',','.'))

	campo6.value = fmtMoney(campo6.value);
	}
<%next%>

					  <input type="text" id="campo6" readonly name="campo6" size="8" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE">

Só que ele faz soma do próprio campo e não do outro campo que foi gerado pelo loop...

 

Se gerou 2 loops então:

 

campo 1 = 20,00

campo 2 = 15,00

 

total = 35,00

 

Só que na hora da soma fica campo1+campo1 (20,00+20,00) e o certo é campo1+campo2 (20,00+15,00)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta tentando assim, mas não deu...

 

function soma2<%=i%>(){

 

var planetas<%=i%> = new Array()

planetas<%=i%>[<%=i%>] = document.getElementById('valortotalitem<%=i%>')

 

document.write(planetas<%=i%>[<%=i%>] + "<br />")

 

}

 

Alguem sabe me dizer se estar certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem sabe colocar a sintaxe para ver se acumula valores:

 

Início {Encontra a soma dos valores}

Variáveis:

Inteiro: Valor, Soma;

Instruções:

Soma <- 0; {Inicializa a variável Soma}

Leia (Valor); {Primeira leitura}

Repita

Soma <- Soma + Valor; {Acumula valor}

Leia (Valor); {Leitura dos demais valores}

Até Valor = -1;

Imprima ('O VALOR TOTAL É:',Soma); {Mostra o resultado}

Fim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Amigo marvi, pode me passar seu código HTML e Javascript, não estou dentro de ASP, portanto faz-me alguma confusão.. Ou até coloque o link online para eu tentar perceber como você está fazendo e tentar ajudá-o.

 

Cumprimentos,

webflex

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá webflex,

 

Acesse esse endereço (libere o POP UP e siga as instruções): http://www.ideiabiz.com/eletrofone/inserirprodutosok.asp

 

Digite 2 mesmo para teste e verá o formulario na prática.

 

Veja que tem a opção campo: Unidades: e tem depois abaixo os campos Valor unitário e Valor total do item. O Valor total do item é o valor total do Valor unitário multiplicado pelo campos unidades...

 

No topo do cadastro tem um campo chamado Valor total da nota e lá deve mostrar o valor total do Valor total do item somado com outro Valor total do item que é o Item 1 e o Item 2, entendeu? Mas aí não funciona assim...

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.