Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovisk

Calculando a Soma de inputs

Recommended Posts

Turma,

 

Tenho um formulário com 4 campos

 

input 1 (Qtd)

input 2 (ValorUnitario)

input 3 (ValorProdTotal)

 

O input 3, recebe o calculo (multiplicação) dos outros dois, confome função no código abaixo.

 

No quarto input (TotalGeral), ele deveria está recebendo o valor do input 3, que tem o valor total gerado através dos outros.

Esses campos ficam em uma linha que são geradas através de um LOOP e tem os IDs alterado dinamicamente.

 

Estou tendo problemas do quarto input receber a soma, do loop, do 3 input.

 

Confira o código abaixo.

 

<table width="100%" border="0" cellpadding="1" cellspacing="1">		  <form name="Solicita_Orcamento" onSubmit="return valida()">			<tr class="texto_Preto_Titulo">			  <td colspan="6">Detalhes do Orçamento </td>			</tr>			<tr align="center" class="texto_Cinza">			  <td colspan="6"><span class="texto_Laranja_Bold">O N° deste Orçamento é: <font color="#FF0000"><%= Session("CodOrcamento") %></font></span></td>			</tr>			<tr bgcolor="#CCCCCC" class="texto_Pedro_SubTitulo">			  <td width="8%" align="center">Quantidade</td>				<td width="42%" align="center">Produto</td>				<td width="22%" align="center">Tipo de Máquina </td>				<td width="17%" align="center">Valor $ </td>				<td width="11%" align="center">Total $ </td>				<td width="11%" align="center">Remover</td>			</tr>			<% TotalPodutos = 0While ((Repeat1__numRows <> 0) AND (NOT rsPed.EOF)) TotalPodutos = TotalPodutos + 1%><script language="JavaScript" type="text/javascript">function Somar<%=rsPed("IDProduto")%>() {document.getElementById("ValorProdTotal_Z<%=rsPed("IDProduto")%>").value = (Number(document.getElementById("Qtd_Z<%=rsPed("IDProduto")%>").value) * Number(document.getElementById("ValorUnitario_Z<%=rsPed("IDProduto")%>").value));}</script>			  <tr align="center">				<td bgcolor="#E0E2DE" class="texto_Cinza2"><input name="Qtd" type="text" class="text_01" id="Qtd_Z<%=rsPed("IDProduto")%>" value="<%= Trim((rsPed.Fields.Item("Quantidade").Value)) %>" size="3"></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><%=(rsPed.Fields.Item("NomeProduto").Value)%></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><%=(rsPed.Fields.Item("NomeTipo").Value)%></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><input name="ValorUnitario" onKeyUp="Somar<%=rsPed("IDProduto")%>();" type="text" class="text_01" id="ValorUnitario_Z<%=rsPed("IDProduto")%>" size="10"></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><input name="ValorProdTotal" type="text" class="text_01" id="ValorProdTotal_Z<%=rsPed("IDProduto")%>" size="10" readonly="readOnly"></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><a onclick="return confirm('Você deseja remover este produto da sua lista?')" href="Atualiza_Lista_Produtos.asp?Acao=Remover&Produto=<%=(rsPed.Fields.Item("IDProduto").Value)%>&Qtd=<%=(rsPed.Fields.Item("Quantidade").Value)%>""><img src="../images/Remover.gif" width="9" height="11" border="0"></a></td>			  </tr>			  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  rsPed.MoveNext()Wend%>			  <tr class="texto_Laranja_Bold">				<td colspan="2">Produtos na Lista: <%= TotalPodutos %></td>				<td> </td>				<td> </td>				<td> </td>				<td> </td>			  </tr>			  <tr bgcolor="#CCFFFF" class="texto_Laranja_Bold">				<td colspan="2"> </td>				<td align="center" class="texto_Pedro_SubTitulo"><div align="right">Total Geral </div></td>				<td align="center"> </td>				<td align="center"><span class="texto_Cinza2">				  <input name="TotalGeral" type="text" class="text_01" id="TotalGeral" size="10" readonly="readOnly">				</span></td>				<td> </td>			  </tr>			  <tr align="center">				<td colspan="6">				<table width="100%" border="0" cellspacing="1" cellpadding="1">				  <tr align="center" class="texto_Cinza_Bold_02">					<td width="33%" bgcolor="#E0E2DE"> </td>					<td width="37%" bgcolor="#E0E2DE"><a href="Solicita_Orcamento.asp"></a></td>					<td width="30%" bgcolor="#E0E2DE">Fechar Orçamento </td>				  </tr>				</table>				</td>			  </tr>			<tr>			  <td colspan="6"> </td>			</tr>		  </form>		</table>
Muito obrigado,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Turma,

 

Tenho um formulário com 4 campos

 

input 1 (Qtd)

input 2 (ValorUnitario)

input 3 (ValorProdTotal)

 

O input 3, recebe o calculo (multiplicação) dos outros dois, confome função no código abaixo.

 

No quarto input (TotalGeral), ele deveria está recebendo o valor do input 3, que tem o valor total gerado através dos outros.

Esses campos ficam em uma linha que são geradas através de um LOOP e tem os IDs alterado dinamicamente.

 

Estou tendo problemas do quarto input receber a soma, do loop, do 3 input.

 

Confira o código abaixo.

 

<table width="100%" border="0" cellpadding="1" cellspacing="1">		  <form name="Solicita_Orcamento" onSubmit="return valida()">			<tr class="texto_Preto_Titulo">			  <td colspan="6">Detalhes do Orçamento </td>			</tr>			<tr align="center" class="texto_Cinza">			  <td colspan="6"><span class="texto_Laranja_Bold">O N° deste Orçamento é: <font color="#FF0000"><%= Session("CodOrcamento") %></font></span></td>			</tr>			<tr bgcolor="#CCCCCC" class="texto_Pedro_SubTitulo">			  <td width="8%" align="center">Quantidade</td>				<td width="42%" align="center">Produto</td>				<td width="22%" align="center">Tipo de Máquina </td>				<td width="17%" align="center">Valor $ </td>				<td width="11%" align="center">Total $ </td>				<td width="11%" align="center">Remover</td>			</tr>			<% TotalPodutos = 0While ((Repeat1__numRows <> 0) AND (NOT rsPed.EOF)) TotalPodutos = TotalPodutos + 1%><script language="JavaScript" type="text/javascript">function Somar<%=rsPed("IDProduto")%>() {document.getElementById("ValorProdTotal_Z<%=rsPed("IDProduto")%>").value = (Number(document.getElementById("Qtd_Z<%=rsPed("IDProduto")%>").value) * Number(document.getElementById("ValorUnitario_Z<%=rsPed("IDProduto")%>").value));}</script>			  <tr align="center">				<td bgcolor="#E0E2DE" class="texto_Cinza2"><input name="Qtd" type="text" class="text_01" id="Qtd_Z<%=rsPed("IDProduto")%>" value="<%= Trim((rsPed.Fields.Item("Quantidade").Value)) %>" size="3"></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><%=(rsPed.Fields.Item("NomeProduto").Value)%></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><%=(rsPed.Fields.Item("NomeTipo").Value)%></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><input name="ValorUnitario" onKeyUp="Somar<%=rsPed("IDProduto")%>();" type="text" class="text_01" id="ValorUnitario_Z<%=rsPed("IDProduto")%>" size="10"></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><input name="ValorProdTotal" type="text" class="text_01" id="ValorProdTotal_Z<%=rsPed("IDProduto")%>" size="10" readonly="readOnly"></td>				<td bgcolor="#E0E2DE" class="texto_Cinza2"><a onclick="return confirm('Você deseja remover este produto da sua lista?')" href="Atualiza_Lista_Produtos.asp?Acao=Remover&Produto=<%=(rsPed.Fields.Item("IDProduto").Value)%>&Qtd=<%=(rsPed.Fields.Item("Quantidade").Value)%>""><img src="../images/Remover.gif" width="9" height="11" border="0"></a></td>			  </tr>			  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  rsPed.MoveNext()Wend%>			  <tr class="texto_Laranja_Bold">				<td colspan="2">Produtos na Lista: <%= TotalPodutos %></td>				<td> </td>				<td> </td>				<td> </td>				<td> </td>			  </tr>			  <tr bgcolor="#CCFFFF" class="texto_Laranja_Bold">				<td colspan="2"> </td>				<td align="center" class="texto_Pedro_SubTitulo"><div align="right">Total Geral </div></td>				<td align="center"> </td>				<td align="center"><span class="texto_Cinza2">				  <input name="TotalGeral" type="text" class="text_01" id="TotalGeral" size="10" readonly="readOnly">				</span></td>				<td> </td>			  </tr>			  <tr align="center">				<td colspan="6">				<table width="100%" border="0" cellspacing="1" cellpadding="1">				  <tr align="center" class="texto_Cinza_Bold_02">					<td width="33%" bgcolor="#E0E2DE"> </td>					<td width="37%" bgcolor="#E0E2DE"><a href="Solicita_Orcamento.asp"></a></td>					<td width="30%" bgcolor="#E0E2DE">Fechar Orçamento </td>				  </tr>				</table>				</td>			  </tr>			<tr>			  <td colspan="6"> </td>			</tr>		  </form>		</table>
Muito obrigado,

 

Pedro.

Isso deve funcionar:

 

input3.value = parseFloat(input1.value)*parseFloat(input2.value);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde devo utilizar isso? No script abaixo:

 

<script language="JavaScript" type="text/javascript">function Somar<%=rsPed("IDProduto")%>() {document.getElementById("ValorProdTotal_Z<%=rsPed("IDProduto")%>").value = (Number(document.getElementById("Qtd_Z<%=rsPed("IDProduto")%>").value) * Number(document.getElementById("ValorUnitario_Z<%=rsPed("IDProduto")%>").value));}</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz pra um site.. qualquer coisa posta

Script

<script>function Somar(_linha){	Campo1 = document.getElementById("txtPreco" + _linha).value;	Campo2 = document.getElementById("txtDesc" + _linha).value;	Campo3 = document.getElementById("txtQtdade" + _linha).value;	Tot = 	Math.round (((Number(Campo1)-(Number(Campo1)*Campo2/100))*Campo3)*100)/100;	document.getElementById("txtPrecof" + _linha).value = Tot.toFixed(2);	SomaTotal();	}function SomaTotal(){	Campo1 = document.getElementById("txtPrecof1").value;	Campo2 = document.getElementById("txtPrecof2").value;	Campo3 = document.getElementById("txtPrecof3").value;	Campo4 = document.getElementById("txtPrecof4").value;	Campo5 = document.getElementById("txtPrecof5").value;	Campo6 = document.getElementById("txtPrecof6").value;	Campo7 = document.getElementById("txtPrecof7").value;			Campo8 = document.getElementById("txtPrecof8").value;				Campo9 = document.getElementById("txtPrecof9").value;				Total = Math.round ((Number(Campo1) + Number(Campo2) + Number(Campo3) + Number(Campo4) + Number(Campo5) + Number(Campo6) + Number(Campo7) + Number(Campo8) + Number(Campo9))*100)/100;	document.getElementById("txtFinal").value = Total.toFixed(2);}</script>
Uso:

			<td><div align="center">				<input name="txtPreco7" type="text" class="style2" id="txtPreco7" size="8" onKeyUp="Somar(7);" />			</div></td>			<td><div align="center">				<input name="txtDesc7" type="text" class="style2" id="txtDesc7" size="8" onKeyUp="Somar(7);"/>			</div></td>			<td><div align="center">				<input name="txtQtdade7" type="text" class="style2" id="txtQtdade7" size="8" onKeyUp="Somar(7);"/>			</div></td>			<td><div align="center">				<input name="txtPrecof7" type="text" class="style2" id="txtPrecof7" size="8" readonly="true"/>			</div></td>			<td><div align="center">			  <input name="txtPreco8" type="text" class="style2" id="txtPreco8" size="8" onKeyUp="Somar(8);" />			</div></td>			<td><div align="center">			  <input name="txtDesc8" type="text" class="style2" id="txtDesc8" size="8" onKeyUp="Somar(8);"/>			</div></td>			<td><div align="center">			  <input name="txtQtdade8" type="text" class="style2" id="txtQtdade8" size="8" onKeyUp="Somar(8);"/>			</div></td>			<td><div align="center">			  <input name="txtPrecof8" type="text" class="style2" id="txtPrecof8" size="8" readonly="true"/>			</div></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Messiah,Mas isso funciona em um Loop? Já que esses campo ficarão com o mesmo name ao inserir no BD. E utilizei um recordset, IDProdut, para alterar o nome de cada campo. você viu acima?

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.