Ir para conteúdo

POWERED BY:

Arquivado

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

PRWEB

Subtrair calculo

Recommended Posts

Tudo bem pessoal?

 

Preciso de uma grande ajuda!!!

 

Tenho esse codigo em javascript que faz o calculo dos campos preenchidos:

 

function total1(campo1,campo2,campo3)
{
 var sub_total = 0;
 
 //Pré total
 var ptot = parseFloat(campo1.value.replace(',', '.')) * parseFloat(campo2.value.replace(',','.'));
 campo3.value = isTrunc(ptot, 2);
 
 //Cálculo do sub_total
 var qtdC = document.myForm.qtdeCampos.value - 1;
 var tot = 0;
 for (var i=1; i<=qtdC; i++){
	if ( document.getElementById('v_total_' + String(i)).value ){
		tot = parseFloat(document.getElementById('v_total_' + String(i)).value.replace(',', '.'));
		sub_total = sub_total + tot;
	}
 }
 document.myForm.sub_total.value = isTrunc(sub_total, 2);
 
 //Cálculo do total geral
 var sub  = parseFloat(document.myForm.sub_total.value.replace(',', '.'));
 var cust = parseFloat(document.myForm.custo_envio.value.replace(',', '.'));
 var out  = parseFloat(document.myForm.outros.value.replace(',', '.'));
 var tot  = sub + cust + out;
 document.myForm.total_geral.value = isTrunc(tot, 2);
}

function total_geral1()
{

//Cálculo do total geral
var sub  = parseFloat(document.myForm.sub_total.value.replace(',', '.'));
var cust = parseFloat(document.myForm.custo_envio.value.replace(',', '.'));
var out  = parseFloat(document.myForm.outros.value.replace(',', '.'));
var tot  = sub + cust + out;
document.myForm.total_geral.value = isTrunc(tot, 2);

}

Em cima deste código eu preciso eu preciso subtrair quando um checkbox é selecionado.

Exemplo tenho vários registros e em cada registro tem um checkbox chamado PROD_PENDENTE aonde quando selecionado cada checkbox ele subtrair o total_geral.

 

Alguém poderia me ajudar, fico muito agradecido!!

 

Muito Obrigado

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é a dúvida?

para disparar uma função ao clicar num checkbox, atrele um evento: onclick nele..

 

como é o HTML disso? como você tentou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade não consigui ter uma ideia de como fazer.

 

O que eu preciso é colocar uma função dentro desta q passei acima para que quando tiver o valor total e marcar o chekbox ele subtrair.

 

Muito Obrigado

 

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

 

Tudo bem pessoal?

 

Gostaria de uma ajuda sobre esse assunto, pois não tive nenhum sucesso e preciso muito urgente.

 

Por favor

 

Muito Obrigado

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você não mostrar como tentou, e nem apresentar o HTML disso, fica muito dificil te ajudar.

 

http://forum.imasters.com.br/index.php?app=core&module=help

05ª - Post UP!

Favor não postar mensagens com o objetivo de evidenciar o tópico, tornando-o primeiro da lista de tópicos (up), tal como mensagens repetitivas e/ou que não condizem com o assunto do tópico em questão (flood).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conforme te falei anteriormente sou iniciante em javascript e peguei um projeto que é utilizado muito javascript, por isso que gostaria de uma ajuda.

 

Segue uma parte do codigo:

function criar_campos(no_os,nome_empresa,id_cliente,gerar_of,descricao,observacoes,solicitado_por,urgente)
	{
    window.location = "ef_gerar_of_campos.asp?no_os=" + no_os + "&nome_empresa=" + nome_empresa + "&id_cliente=" + id_cliente + "&gerar_of=" + gerar_of + "&descricao=" + descricao + "&observacoes=" + observacoes + "&solicitado_por=" + solicitado_por + "&urgente=" + urgente
	}

function criar_campos_cheque(no_os,nome_empresa,id_cliente)
	{
    window.location = "ef_gerar_of_campos_cheque.asp?no_os=" + no_os + "&nome_empresa=" + nome_empresa + "&id_cliente=" + id_cliente
	}
</script>

<script language='JavaScript' type="text/javascript">
function total1(campo1,campo2,campo3)
{
 var sub_total = 0;
 
 //Pré total
 var ptot = parseFloat(campo1.value.replace(',', '.')) * parseFloat(campo2.value.replace(',','.'));
 campo3.value = isTrunc(ptot, 2);
 
 //Cálculo do sub_total
 var qtdC = document.myForm.qtdeCampos.value - 1;
 var tot = 0;
 for (var i=1; i<=qtdC; i++){
	if ( document.getElementById('v_total_' + String(i)).value ){
		tot = parseFloat(document.getElementById('v_total_' + String(i)).value.replace(',', '.'));
		sub_total = sub_total + tot;
	}
 }
 document.myForm.sub_total.value = isTrunc(sub_total, 2);
 
 //Cálculo do total geral
 var sub  = parseFloat(document.myForm.sub_total.value.replace(',', '.'));
 var cust = parseFloat(document.myForm.custo_envio.value.replace(',', '.'));
 var out  = parseFloat(document.myForm.outros.value.replace(',', '.'));
 var tot  = sub + cust + out;
 document.myForm.total_geral.value = isTrunc(tot, 2);
}

function total_geral1()
{

//Cálculo do total geral
var sub  = parseFloat(document.myForm.sub_total.value.replace(',', '.'));
var cust = parseFloat(document.myForm.custo_envio.value.replace(',', '.'));
var out  = parseFloat(document.myForm.outros.value.replace(',', '.'));
var tot  = sub + cust + out;
document.myForm.total_geral.value = isTrunc(tot, 2);

}

                  <tr>
                    <td height="21"><div align="left"> <a href="javascript:criar_campos('<%=gerar_os_itens("no_os")%>','<%=cadastro("nome_empresa")%>','<%=gerar_os_itens("id_cliente")%>','<%=gerar_os_itens("gerar_of_om")%>','<%=gerar_os_itens("descricao")%>','<%=gerar_os_itens("observacoes")%>','<%=gerar_os_itens("solicitado_por")%>')"><img src='control_estoque/img/46.gif' width='15' height='17' border='0' /></a></div></td>
                    </tr>
                </table>
<table width="100%" border="0" cellpadding="1" cellspacing="0" bgcolor="#E0E0E0">
                  <tr>
                    <td width="1%" bgcolor="#000033"> </td>
                    <td width="4%" bgcolor="#000033"><div align="center"><span class="style147 style126">QUANT. SOLIC.</span></div></td>
                    <td width="4%" bgcolor="#000033"><div align="center" class="style166">
                      <div align="center"><span class="style126  style139">QUANT</span>. ENTREGA</div>
                    </div></td>
                    <td width="5%" bgcolor="#000033"><div align="center" class="style155"><strong>DATA ENTREGUE</strong></div></td>
                    <td width="5%" bgcolor="#000033"><div align="center"><span class="style166"><span class="style126  style139">QUANT</span>.<br>
                      PENDENTE</span></div></td>
                    <td width="39%" height="16" bgcolor="#000033"><div align="center" class="style2 style17 style126"><strong>PRODUTO </strong></div>
                        <span class="style103 style105 style126 style139"><span class="style126 style139 style103"><span class="style151">
                        <label></label>
                        </span></span></span></td>
                    <td width="4%" bgcolor="#000033"><div align="center" class="style155"><strong>N.º SÉRIE</strong></div></td>
                    <td width="6%" bgcolor="#000033"><div align="center" class="style155"><strong>PENDENTE</strong></div></td>
                    <td width="19%" bgcolor="#000033"><div align="center" class="style103 style105 style126 style139"><strong>OBSERVAÇÃO</strong></div></td>
                    <td width="7%" bgcolor="#000033"><div align="center" class="style103 style105 style126 style139"><strong>VALOR UNIT.</strong></div></td>
                    <td width="6%" bgcolor="#000033"><div align="center" class="style103 style105 style126 style139"><strong>VALOR TOTAL</strong></div></td>
                    </tr>
                  <%
i = 1
while (not gerar_os_itens.EOF)
%>
                  <tr>
                    <td><a href="javascript:deletar(<%=gerar_os_itens("id")%>)"><img src="img/exclui.gif" width="14" height="14" border="0"></a></td>
                    <td><div align="center">
                      <span class="style35">
                      <input name="id_<%=i%>" type="hidden" class="style146" id="id_<%=i%>" value="<%=gerar_os_itens("id")%>" size="5">
                      </span>
                      <input name="quant_<%=i%>" type="text" class="campos" id="quant_<%=i%>" onKeyUp="javascript:total1(quant_<%=i%>,v_unitario_<%=i%>,v_total_<%=i%>)" value="<%=gerar_os_itens("quant")%>" size="4" alt="integer"/>
                    </div></td>
                    <td><div align="center">
                      <input name="quant_entregue_<%=i%>" type="text" class="campos" id="quant_entregue_<%=i%>" value="<%=gerar_os_itens("quant_entregue")%>" size="4" alt="integer" onKeyUp="document.myForm.quant_pendente_<%=i%>.value = subtracao(document.myForm.quant_<%=i%>.value, document.myForm.quant_entregue_<%=i%>.value);"/>
                    </div></td>
                    <td><div align="center">
                      <input name="data_entregue_<%=i%>" type="text"  class="forma_pag1" id="data_entregue_<%=i%>" onBlur="javascript:total1(quant_<%=i%>,v_unitario_<%=i%>,v_total_<%=i%>)" value="<%=gerar_os_itens("data_entregue")%>" size="7" alt="date"/>
                    </div></td>
                    <td><div align="center">
                      <input name="quant_pendente_<%=i%>" type="text" class="campos" id="quant_pendente_<%=i%>" onBlur="javascript:total1(quant_<%=i%>,v_unitario_<%=i%>,v_total_<%=i%>)" value="<%=gerar_os_itens("quant_pendente")%>" size="4" alt="integer"/>
                    </div></td>
                    <td><div align="center"><span class="style14">
                      <label></label>
                        </span><strong>
                        <select name="sistema_<%=i%>" class="style126" id="sistema_<%=i%>">
                          <option value="">::SELECIONE::</option>
                          <%
While (NOT sist1.EOF)
%>
                          <option value="<%=(sist1.Fields.Item("PRODUTO").Value)%>" <%if sist1 ("PRODUTO") = gerar_os_itens ("sistema") then response.Write("selected")%>><%=(sist1.Fields.Item("PRODUTO").Value)%></option>
                          <%
  sist1.MoveNext()
Wend
If (sist1.CursorType > 0) Then
  sist1.MoveFirst
Else
  sist1.Requery
End If

prod_pendente = gerar_os_itens("prod_pendente")
%>
                        </select>
                        </strong></div>
                        </label></td>
                    <td><div align="center"><a href="#" onClick="abrir_pop('no_serie_prods.asp?no_os=<%=gerar_os_itens("no_os")%>&id=<%=gerar_os_itens("id")%>&id_cliente=<%=id_cliente%>','600','200','scrollbars=yes')"><img src="img/anotacao.gif" width="18" height="19" border="0"></a></div></td>
                    <td><div align="center">
                      <input name="opt1_<%=i%>" type="checkbox" id="opt1_<%=i%>" value="1" <%if prod_pendente = "1" then response.Write("checked")%>>
                    </div></td>
                    <td><div align="center">
                        <label>
                        <textarea name="obs_prod_<%=i%>" cols="30" rows="1" class="campos" id="obs_prod_<%=i%>"><%=gerar_os_itens("obs_prod")%></textarea>
                        </label>
                    </div></td>
                    <td><div align="center">
                      <input name="v_unitario_<%=i%>" type="text" class="form2" id="v_unitario_<%=i%>" onBlur="javascript:total1(quant_<%=i%>,v_unitario_<%=i%>,v_total_<%=i%>)" value="<%=ROUND(gerar_os_itens("v_unitario"),2)%>" size="8" alt="decimal" />
                    </div></td>
                    <td><div align="center">
                      <input name="v_total_<%=i%>" type="text" class="form2" id="v_total_<%=i%>" value="<%=ROUND(gerar_os_itens("v_total"),2)%>" size="8" alt="decimal"/>
                    </div></td>
                    </tr>
                  <%
gerar_os_itens.MoveNext()
i = i + 1
wend
                </table>

Se for possivel me dar uma ajuda fico muito agradecido

 

Muito Obrigado

 

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

 

Tudo bem pessoal?

 

Referente ao meu problema postei uma imagem da tela para vocês verem o que estou precisando mesmo.

 

Imagem Postada

 

Se alguém puder me ajudar, fico agradecido.

 

Muito Obrigado

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, acho que você não conseguiu.. pq confundiu os momentos.. oque você precisa fazer é super simples de ser resolvido.

faça outra função

 

function calcularQndoMarcarCheck()
{
  ..
}
e dispare essa função no onclick do checkbox.

nela você pega o que precisar.. e faz o cálculo. Mas não misture as coisas, faça nessa outra: calcularQndoMarcarCheck e não na que você já possui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas mesmo assim estou com dificuldades.

 

Se for possivel me dar um help agradeço muito.

 

:huh:

 

Fiz assim, mas ocorre erros:

 

function calculo(marca,campo,sub_total)

{

if (marca.checked)

sub_total.value = sub_total.value + campo.value;

else

sub_total.value = sub_total.value - campo.value;

}

 

campo PROD_PENDENTE:

<input name="opt1_<%=i%>" type="checkbox" id="opt1_<%=i%>" value="1" onClick="calculo(this,v_total_<%=i%>,sub_total)" <%if prod_pendente = "1" then response.Write("checked")%>>

 

Quando marco a opção PROD_PENDENTE o campo sub_total fica NaN + o valor do campo v_total dentro do sub_total.

 

Não sei mais o q faço.

 

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

 

Pessoal, será q alguém poderia me ajudar? Por favor.

 

Não to conseguindo mesmo.

 

Muito obrigado pela atenção.

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.