Ir para conteúdo

POWERED BY:

Arquivado

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

Maver

pegar resultado e somar com outro resultado

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Caros Amigos membros deste forum, estou acompanhando a maioria das dúvidas, dicas e exemplos postados aqui e me ajundaram muito. Sou iniciante em javascript e preciso de ajuda.

 

Caro AdrianoAlves Agradeço desde já este script que você passou para shumi, é muito prático, se possível

por favor enviar algumas dicas de como adapta-lo. Obrigado!!!

 

Aos que estão vendo o script abaixo pela primeira vez e são iniciantes como eu, ele calcula os valores com a digitação e já envia para o campo indicado o resultado.

 

<html><head><title>Documento sem título</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="JavaScript" type="text/javascript">function valor(){var Campo1 = document.getElementById("vlr1").value;var Campo2 = document.getElementById("vlr2").value;if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Total").value = Total;}}<input type="text" name="vlr1" id="vlr1" onKeyUp="valor();"><input type="text" name="vlr2" id="vlr2" onKeyUp="valor();">

 

Por favor só preciso de um pequeno exemplo de como pegar o valor de

<input type="text" name="Total" id="Total">

depois de calculado com o mesmo efeito de "onKeyUp" e fazer a soma com outra coluna igual a esta e mesmo escript para pegar o valor total das duas e mandar para o input

<input type="text" name="Totalgeral" id="Totalgeral">

tudo com o mesmo efeito deste script, mostrando resultado no campo " Total " , minha coluna de dados tem mais campos para somar, pois adaptei o script.

 

Tentei usar assim mas não funcionou:

 

function valor(){var Campo1 = parseFloat(document.form.Total1.value);var Campo2 = parseFloat(document.form.Total2.value);if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Total").value = Totalgeral;}}<input type="text" name="Total1" id="Total1" onchange="valor();"><input type="text" name="Total2" id="Total2" onchange="valor();">

Se estiver errado assim por favor postar exemplo.

Seria possível adaptar os dois scripts para fazer tudo de uma vez?

Como?

Desde já agradeço qualquer ajuda. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei amigo, você chegou muito perto!

Olha só:

 

var Total = Number(Campo1) + Number(Campo2);document.getElementById("Total").value = Totalgeral;
O resultado da operação você está colocando na variavel Total. Mas está tentando mostrar o valor da variavel Totalgeral que não existe! Basta você mudar o nome de Totalgeral para Total :)

 

F.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a reposta amigo Fleury, já consertei esta parte, mas acho que não

consegui expressar exatamente o que quero fazer, estou enviando o script completo abaixo:

 

Por favor me diga o que está errado.

 

<script language="JavaScript" type="text/javascript">function valor(){var Campo1 = document.getElementById("vlr1").value;var Campo2 = document.getElementById("vlr2").value;if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Total").value = Total;}}//function valora(){var Campo1 = document.getElementById("vlr1a").value;var Campo2 = document.getElementById("vlr2a").value;if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Totala").value = Total;}}//function valort(){var Campo1 = parseFloat(document.form.Total.value);var Campo2 = parseFloat(document.form.Totala.value);if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente Total!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Totalgeral").value = Total;}}//</script></head><body><form action="Untitled-2.html" method="post" name="form"><table width="295" border="0" cellspacing="2" cellpadding="0">  <tr>	<td width="140"><div align="right">A:</div></td>	<td width="73"><div align="center">	  <input name="vlr1" id="vlr1" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valor();" />	</div>	  			  </td>	<td width="74"><div align="center">	  <input name="vlr1a" id="vlr1a" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valora();" />	</div></td>	</tr></table><table width="295" border="0" cellspacing="2" cellpadding="0">  <tr>	<td width="140"><div align="right">B:</div></td>	<td width="73"><div align="center">	  <input name="vlr2" id="vlr2" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valor();" />	</div>	  			  </td>	<td width="74"><div align="center">	  <input name="vlr2a" id="vlr2a" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valora();" />	</div></td>	</tr></table><table width="295" border="0" cellspacing="2" cellpadding="0">  <tr>	<td width="140"><div align="right">Total Parcial:</div></td>	<td width="73"><div align="center">	  <input name="Total" id="Total" type="text" size="8" maxlength="8" dir="rtl" readonly="" onchange="valort();" /></div>	  			  </td>	<td width="74"><div align="center">	  <input name="Totala" id="Totala" type="text" size="8" maxlength="8" dir="rtl" readonly="" onchange="valort();" />	</div></td>	</tr></table><table width="295" border="0" cellspacing="2" cellpadding="0">  <tr>	<td width="140"><div align="right">Total Geral:</div></td>	<td width="149"><div align="center">	  <input name="Totalgeral" id="Totalgeral" type="text" size="14" maxlength="14" dir="rtl" readonly="" />	</div>	  			  </td>	</tr></table></form>

Minha dúvida é como apresentar no campo " Totalgeral" o resultado da soma

do campo " Total" com " Totala " no momento da digitação.

 

Como fazer funcionar esta parte no momento da digitaçao?

 

function valort(){var Campo1 = parseFloat(document.form.Total.value);var Campo2 = parseFloat(document.form.Totala.value);if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente Total!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Totalgeral").value = Total;}}

 

Com estes dois campos?

 

<input name="Total" id="Total" type="text" size="8" maxlength="8" dir="rtl" readonly="" onchange="valort();" /><input name="Totala" id="Totala" type="text" size="8" maxlength="8" dir="rtl" readonly="" onchange="valort();" />

O que está errado como pegar os valores " Total " e " Totala "?

 

Devo usar outra função mais adequada?

 

Aslinhas abaixo agradeço ao amigo Hinom em dica para tossulino não sei se estou usando

corretamente para esta função?

 

a dica dele para somar strings foi:

 

soma = ( parseFloat(document.form.nota1.value) + parseFloat(document.form.nota2.value) ) ;

 

 

Para adaptar à função atual está assim:

 

 

var Campo1 = parseFloat(document.form.Total.value);

var Campo2 = parseFloat(document.form.Totala.value);

 

 

 

E o uso correto para os campos seria onchange="valort();" ?

 

Qualquer ajuda sua Fleury e de outros amigos membros é bem vinda . Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não recomendo você fazer isso em tempo de digitação... gera varios erros.Melhor fazer com onchange mesmo.a forma de pegar os campos es tá certa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a reposta amigo Fleury, mas não consegui fazer funcionar, aí de tanto pensar,resolvi fazer diferente no lugar de usar os totais parciais fiz uma soma completa, estou enviando o script completo para quem quiser usar, testei e funciona bem, só dámais trabalho dependendo da quantidade de campos, mas fiquei intrigado com a possibilidadede usar no modo anterior. Se alguém tiver uma idéia de como fazer mais fácil por favor me avisem.<script language="JavaScript" type="text/javascript">function valor(){var Campo1 = document.getElementById("vlr1").value;var Campo2 = document.getElementById("vlr2").value;if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Total").value = Total;}}//function valora(){var Campo1 = document.getElementById("vlr1a").value;var Campo2 = document.getElementById("vlr2a").value;if (isNaN(Campo1) || isNaN(Campo2)) {alert("Preencha os campos corretamente!");} else {var Total = Number(Campo1) + Number(Campo2);document.getElementById("Totala").value = Total;}}//function valort(){var Campo1 = document.getElementById("vlr1").value;var Campo2 = document.getElementById("vlr2").value;var Campo3 = document.getElementById("vlr1a").value;var Campo4 = document.getElementById("vlr2a").value;var Total = Number(Campo1) + Number(Campo2) + Number(Campo3) + Number(Campo4);document.getElementById("Totalgeral").value = Total;}}//</script></head><body><form action="Untitled-2.html" method="post" name="form"><table width="295" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="140"><div align="right">A:</div></td> <td width="73"><div align="center"> <input name="vlr1" id="vlr1" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valor();valort();" /> </div> </td> <td width="74"><div align="center"> <input name="vlr1a" id="vlr1a" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valora();valort();" /> </div></td> </tr></table><table width="295" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="140"><div align="right">B:</div></td> <td width="73"><div align="center"> <input name="vlr2" id="vlr2" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valor();valort();" /> </div> </td> <td width="74"><div align="center"> <input name="vlr2a" id="vlr2a" type="text" size="4" maxlength="4" dir="rtl" onKeyUp="valora();valort();" /> </div></td> </tr></table><table width="295" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="140"><div align="right">Total Parcial:</div></td> <td width="73"><div align="center"> <input name="Total" id="Total" type="text" size="8" maxlength="8" dir="rtl" readonly="" /></div> </td> <td width="74"><div align="center"> <input name="Totala" id="Totala" type="text" size="8" maxlength="8" dir="rtl" readonly="" /> </div></td> </tr></table><table width="295" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="140"><div align="right">Total Geral:</div></td> <td width="149"><div align="center"> <input name="Totalgeral" id="Totalgeral" type="text" size="14" maxlength="14" dir="rtl" readonly="" /> </div> </td> </tr></table></form>Valeu, espero que ajude alguém. Obrigado Fleury e à todos !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usai o seu exemplo pra fazer esse aqui mais não está funcionando sabe me dizer o que estáerrado?<html><head><script language="JavaScript"> function somadma() { var aux; dm = new Array(5); dm[0] = 0.00; dm[1] = 8.00; dm[2] = 16.00; dm[3] = 24.00; dm[4] = 32.00; dm[5] = 40.00; aux = parseFloat(dm[document.FrmOrcamento.ntxquant1.value]); document.FrmOrcamento.txquant1.value = formata_valor(aux, 2); } function somarspa() { var aux; sp = new Array(5) sp[0] = 0.00; sp[1] = 8.00; sp[2] = 16.00; sp[3] = 24.00; sp[4] = 32.00; sp[5] = 40.00; aux = parseFloat(sp[document.FrmOrcamento.ntxquant2.value]); document.FrmOrcamento.txquant2.value = formata_valor(aux, 2) } function somarbca() { var aux; bc = new Array(5) bc[0] = 0.00; bc[1] = 8.00; bc[2] = 16.00; bc[3] = 24.00; bc[4] = 32.00; bc[5] = 40.00; aux = parseFloat(bc[document.FrmOrcamento.ntxquant3.value]); document.FrmOrcamento.txquant3.value = formata_valor(aux, 2); } function somarbaa() { var aux; ba = new Array(5) ba[0] = 0.00; ba[1] = 8.00; ba[2] = 16.00; ba[3] = 24.00; ba[4] = 32.00; ba[5] = 40.00; aux = parseFloat(ba[document.FrmOrcamento.ntxquant4.value]); document.FrmOrcamento.txquant4.value = formata_valor(aux, 2); } function somarcda() { var aux; cd = new Array(5) cd[0] = 0.00; cd[1] = 8.00; cd[2] = 16.00; cd[3] = 24.00; cd[4] = 32.00; cd[5] = 40.00; aux = parseFloat(cd[document.FrmOrcamento.ntxquant5.value]); document.FrmOrcamento.txquant5.value = formata_valor(aux, 2); } function valor(){ var Campo1 = document.FrmOrcamento("txquant1").value; var Campo2 = document.FrmOrcamento("txquant2").value; var Campo3 = document.FrmOrcamento("txquant3").value; var Campo4 = document.FrmOrcamento("txquant4").value; var Campo5 = document.FrmOrcamento("txquant5").value; if (isNaN(Campo1) || isNaN(Campo2) || isNaN(Campo3) || isNaN(Campo4) || isNaN(Campo5)) { alert("Preencha os campos corretamente!"); } else { var Total = Number(Campo1) + Number(Campo2) + Number(Campo3)+ Number(Campo4)+ Number(Campo5); document.FrmOrcamento("Totalgeral").value = Total; } </script><form name="FrmOrcamento" action="?pg=estrutura/orcamento.php&atuvlr=S&secao=plantar" method="post" onSubmit="return (verifica())" ><table width="95%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="center"><p><img src="../images/cadas_mudas.jpg" width="500" height="50"></p> </div> <div align="center"><strong>Obs: </strong>Os campos marcados com * são de preenchimento obrigatório! <br><br> <table width="55%" border="0" align="center" cellpadding="0" cellspacing="0" > <tr> <td bgcolor="17620f" height="20"><div align="center"><strong><font color="#FFFFFF">Opções de muda</font></strong></div></td> <td bgcolor="17620f" height="20"><div align="center"><strong><font color="#FFFFFF">Quantidade</font></strong></div></td> <td bgcolor="17620f" height="20"><div align="center"><strong><font color="#FFFFFF">Valor unit.</font></strong></div></td> </tr> <tr> <td height="25"><div align="center"> <input name="txopcao1" type="text" class="cav" size="23" value='<? echo "$muda"; ?>'> </div></td> <td height="25"><div align="center"> <select name="ntxquant1" onchange="somadma()" class="cav"> <option value="0">0</option> <? for ( $i=1; $i<=5; $i++ ) { echo "<option value='$i'> $i </option>"; } ?> </select> </div></td> <td height="25"><div align="center"> <input name="txquant1" id="txquant1" type="text" size="8" maxlength="8" class="cav" dir="rtl" onKeyUp="valor();" /> </div></td> </tr> <tr> <td height="25"><div align="center"> <select name="txopcao2" class="cav"> <option value="0"> Selecione a Muda </option> <option value="Angico"> Angico </option> <option value="Aroeira Vermelha"> Aroeira Vermelha </option> <option value="Baguaçu"> Baguacu </option> <option value="Baga Macaco"> Baga Macaco </option> <option value="Canjerana"> Canjerana </option> <option value="Caixeta"> Caixeta </option> <option value="Comboata"> Comboata </option> <option value="Espinheira Santa"> Espinheira Santa </option> <option value="Gabiroba"> Gabiroba </option> <option value="Grumixana"> Grumixana </option> <option value="Guamirim"> Guamirim </option> <option value="Jacaranda"> Jacaranda </option> <option value="Piriquita"> Piriquita </option> <option value="Pitanga"> Pitanga </option> <option value="Tanheiro"> Tanheiro </option> </select> </div></td> <td height="25"><div align="center"> <select name="ntxquant2" onchange="somarspa()" class="cav"> <option value="0">0</option> <? for ( $i=1; $i<=5; $i++ ) { echo "<option value='$i'> $i </option>"; } ?> </select> </div></td> <td height="25"> <div align="center"> <input name="txquant2" id="txquant2" type="text" size="8" maxlength="8" class="cav" dir="rtl" onKeyUp="valor();" /> </div></td> </tr> <tr> <td height="25"><div align="center"> <select name="txopcao3" class="cav"> <option value="0"> Selecione a Muda </option> <option value="Angico"> Angico </option> <option value="Aroeira Vermelha"> Aroeira Vermelha </option> <option value="Baguaçu"> Baguacu </option> <option value="Baga Macaco"> Baga Macaco </option> <option value="Canjerana"> Canjerana </option> <option value="Caixeta"> Caixeta </option> <option value="Comboata"> Comboata </option> <option value="Espinheira Santa"> Espinheira Santa </option> <option value="Gabiroba"> Gabiroba </option> <option value="Grumixana"> Grumixana </option> <option value="Guamirim"> Guamirim </option> <option value="Jacaranda"> Jacaranda </option> <option value="Piriquita"> Piriquita </option> <option value="Pitanga"> Pitanga </option> <option value="Tanheiro"> Tanheiro </option> </select> </div></td> <td height="25"><div align="center"> <select name="ntxquant3" onchange="somarbca()" class="cav"> <option value="0">0</option> <? for ( $i=1; $i<=5; $i++ ) { echo "<option value='$i'> $i </option>"; } ?> </select> </div></td> <td height="25"><div align="center"><font color="#000000" face="verdana" size="2"> <input name="txquant3" id="txquant3" type="text" size="8" maxlength="8" class="cav" dir="rtl" onKeyUp="valor();" /> </font></div></td> </tr> <tr> <td height="25"><div align="center"> <select name="txopcao4" class="cav" > <option value="0"> Selecione a Muda </option> <option value="Angico"> Angico </option> <option value="Aroeira Vermelha"> Aroeira Vermelha </option> <option value="Baguaçu"> Baguacu </option> <option value="Baga Macaco"> Baga Macaco </option> <option value="Canjerana"> Canjerana </option> <option value="Caixeta"> Caixeta </option> <option value="Comboata"> Comboata </option> <option value="Espinheira Santa"> Espinheira Santa </option> <option value="Gabiroba"> Gabiroba </option> <option value="Grumixana"> Grumixana </option> <option value="Guamirim"> Guamirim </option> <option value="Jacaranda"> Jacaranda </option> <option value="Piriquita"> Piriquita </option> <option value="Pitanga"> Pitanga </option> <option value="Tanheiro"> Tanheiro </option> </select> </div></td> <td height="25"><div align="center"> <select name="ntxquant4" onchange="somarbaa()" class="cav"> <option value="0">0</option> <? for ( $i=1; $i<=5; $i++ ) { echo "<option value='$i'> $i </option>"; } ?> </select> </div></td> <td height="25"><div align="center"><font color="#000000" face="verdana" size="2"> <input name="txquant4" id="txquant4" type="text" size="8" class="cav" maxlength="8" dir="rtl" onKeyUp="valor();" /> </font></div></td> </tr> <tr> <td height="25"><div align="center"> <select name="txopcao5" class="cav" id="txopcao5"> <option value="0"> Selecione a Muda </option> <option value="Angico"> Angico </option> <option value="Aroeira Vermelha"> Aroeira Vermelha </option> <option value="Baguaçu"> Baguacu </option> <option value="Baga Macaco"> Baga Macaco </option> <option value="Canjerana"> Canjerana </option> <option value="Caixeta"> Caixeta </option> <option value="Comboata"> Comboata </option> <option value="Espinheira Santa"> Espinheira Santa </option> <option value="Gabiroba"> Gabiroba </option> <option value="Grumixana"> Grumixana </option> <option value="Guamirim"> Guamirim </option> <option value="Jacaranda"> Jacaranda </option> <option value="Piriquita"> Piriquita </option> <option value="Pitanga"> Pitanga </option> <option value="Tanheiro"> Tanheiro </option> </select> </div></td> <td height="25"><div align="center"> <select name="ntxquant5" onchange="somarcda()" class="cav"> <option value="0">0</option> <? for ( $i=1; $i<=5; $i++ ) { echo "<option value='$i'> $i </option>"; } ?> </select> </div></td> <td height="25"><div align="center"><font color="#000000" face="verdana" size="2"> <input name="txquant5" id="txquant5" type="text" class="cav" size="8" maxlength="8" dir="rtl" onKeyUp="valor();" /> </font></div></td> </tr> <tr> <td height="30"><strong>Total:</strong> </td> <td></td> <td height="30"><div align="center"> <input name="Totalgeral" id="Totalgeral" type="text" class="cav" size="8" maxlength="8" dir="rtl" readonly="" /> </div></td> </tr> </table> <table width="40%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> <div align="center"> <br> <input name="submit" type="image" value=Submit src="../images/enviar_sol.jpg" alt="Enviar" width="130" height="19" border="1" > </div></td> </tr> </table> <p><br> </p> </td> </tr></table></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lucimara, desculpe por demorar à responder, não costumo entrar muito no forum,

se você não conseguiu resolver ainda, espero ajudar, só faltou fechar a última Chave,

tenta assim agora !!!

 

 

function valor(){

var Campo1 = document.FrmOrcamento("txquant1").value;

var Campo2 = document.FrmOrcamento("txquant2").value;

var Campo3 = document.FrmOrcamento("txquant3").value;

var Campo4 = document.FrmOrcamento("txquant4").value;

var Campo5 = document.FrmOrcamento("txquant5").value;

if (isNaN(Campo1) || isNaN(Campo2) || isNaN(Campo3) || isNaN(Campo4) || isNaN(Campo5)) {

alert("Preencha os campos corretamente!");

} else {

var Total = Number(Campo1) + Number(Campo2) + Number(Campo3) + Number(Campo4) + Number(Campo5);

document.FrmOrcamento("Totalgeral").value = Total;

}

}

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.