Ir para conteúdo

POWERED BY:

Arquivado

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

mariocosta

Soma de valores dinamico não funciona

Recommended Posts

Boa Tarde!

 

Tenho um sistema de vendas em php que utiliza uma função em ajax, para poder trazer o produto quando ele é selecionado,

entretanto era para ele estar fazendo a soma dos produtos automaticamente, mas ele não realiza essa função, ele só esta somando quando eu clico no campo do input do produto e mesmo assim se eu tiver por exemplo 10 produtos, e eu clicar no input do primeiro item ele apenas mostra o valor total do primeiro item sem somar os demais...

 

poderiam estar me ajudando a como resolver um problema de calculo dinamico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

////////////////////////// ITEM 1
function passar_1(){
var bitem_1 = document.getElementById("bitem_1");
var item_1 = document.getElementById("item_1"); 
item_1.value = bitem_1.value;
 
var bqnt_1 = document.getElementById("bqnt_1");
var qnt_1 = document.getElementById("qnt_1"); 
qnt_1.value = bqnt_1.value;

var bvlr_1 = document.getElementById("bvlr_1");
var vlr_1 = document.getElementById("vlr_1"); 
var vlritem_1 = document.getElementById("vlritem_1"); 
var vlr_pedido = document.getElementById("vlr_pedido"); 
var total = document.getElementById("total"); 
vlr_1.value = bvlr_1.value;
vlritem_1.value = bvlr_1.value; 
vlr_pedido.value = bvlr_1.value;
total.value = bvlr_1.value; 
};

function calcula_1() {
//Pega novamente as variaveis para um novo calculo
var tqnt_1 = document.getElementById("qnt_1").value;     
var tvlr_1 = document.getElementById("vlr_1").value;     
    
    if((tqnt_1 == "" || tqnt_1 == null) && (tvlr_1 == "" || tvlr_1 == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(tqnt_1.indexOf(',') != -1)  
        tqnt_1 = tqnt_1.replace(',','.');  
  	//retira caracteres especiais do campo
    while(tvlr_1.indexOf(',') != -1)  
        tvlr_1 = tvlr_1.replace(',','.'); 
	
// multiplica os 2 campos
t_vlritem_1 = parseFloat(tqnt_1*tvlr_1);
// passa o valor para o campo total
document.form1.vlritem_1.value = t_vlritem_1;

//valor do pedido
document.form1.vlr_pedido.value = t_vlritem_1;

//valor total
document.form1.total.value = t_vlritem_1;

} //fecha function calcula





////////////////////////// ITEM 2
function passar_2(){
var bitem_2 = document.getElementById("bitem_2");
var item_2 = document.getElementById("item_2"); 
item_2.value = bitem_2.value;
 
var bqnt_2 = document.getElementById("bqnt_2");
var qnt_2 = document.getElementById("qnt_2"); 
qnt_2.value = bqnt_2.value;

var bvlr_2 = document.getElementById("bvlr_2");
var vlr_2 = document.getElementById("vlr_2"); 
var vlritem_2 = document.getElementById("vlritem_2"); 
var vlr_pedido = document.getElementById("vlr_pedido"); 
var total = document.getElementById("total"); 
vlr_2.value = bvlr_2.value;
vlritem_2.value = bvlr_2.value;

var vlr_pedidoc = document.getElementById("vlr_pedido").value;
var vlritem_2c = document.getElementById("vlritem_2").value;  

if((vlr_pedidoc == "" || vlr_pedidoc == null) && (vlritem_2c == "" || vlritem_2c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlr_pedidoc.indexOf(',') != -1)  
        vlr_pedidoc = vlr_pedidoc.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_2c.indexOf(',') != -1)  
        vlritem_2c = vlritem_2c.replace(',','.');
		
gu = parseFloat(vlr_pedidoc) + parseFloat(vlritem_2c);

document.form1.vlr_pedido.value = gu;
document.form1.total.value = gu; 
};

// aqui começa o srcipt da quantidade
function calcula_2() {
//Pega novamente as variaveis para um novo calculo
var tqnt_2 = document.getElementById("qnt_2").value;     
var tvlr_2 = document.getElementById("vlr_2").value;     
    
    if((tqnt_2 == "" || tqnt_2 == null) && (tvlr_2 == "" || tvlr_2 == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(tqnt_2.indexOf(',') != -1)  
        tqnt_2 = tqnt_2.replace(',','.');  
  	//retira caracteres especiais do campo
    while(tvlr_2.indexOf(',') != -1)  
        tvlr_2 = tvlr_2.replace(',','.'); 
	
// multiplica os 2 campos
t_vlritem_2 = parseFloat(tqnt_2*tvlr_2);
// passa o valor para o campo total
document.form1.vlritem_2.value = t_vlritem_2;

var vlr_pedidoc = document.getElementById("vlritem_1").value;
var vlritem_2c = document.getElementById("vlritem_2").value;  

if((vlr_pedidoc == "" || vlr_pedidoc == null) && (vlritem_2c == "" || vlritem_2c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlr_pedidoc.indexOf(',') != -1)  
        vlr_pedidoc = vlr_pedidoc.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_2c.indexOf(',') != -1)  
        vlritem_2c = vlritem_2c.replace(',','.');
		
gu2 = parseFloat(vlr_pedidoc) + parseFloat(vlritem_2c);

//valor do pedido
document.form1.vlr_pedido.value = gu2;

//valor total
document.form1.total.value = gu2;

} //fecha function calcula






////////////////////////// ITEM 3
function passar_3(){
var bitem_3 = document.getElementById("bitem_3");
var item_3 = document.getElementById("item_3"); 
item_3.value = bitem_3.value;
 
var bqnt_3 = document.getElementById("bqnt_3");
var qnt_3 = document.getElementById("qnt_3"); 
qnt_3.value = bqnt_3.value;

var bvlr_3 = document.getElementById("bvlr_3");
var vlr_3 = document.getElementById("vlr_3"); 
var vlritem_3 = document.getElementById("vlritem_3"); 
var vlr_pedido = document.getElementById("vlr_pedido"); 
var total = document.getElementById("total"); 
vlr_3.value = bvlr_3.value;
vlritem_3.value = bvlr_3.value;

var vlr_pedidoc = document.getElementById("vlr_pedido").value;
var vlritem_3c = document.getElementById("vlritem_3").value;  

if((vlr_pedidoc == "" || vlr_pedidoc == null) && (vlritem_3c == "" || vlritem_3c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlr_pedidoc.indexOf(',') != -1)  
        vlr_pedidoc = vlr_pedidoc.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_3c.indexOf(',') != -1)  
        vlritem_3c = vlritem_3c.replace(',','.');
		
gu = parseFloat(vlr_pedidoc) + parseFloat(vlritem_3c);

document.form1.vlr_pedido.value = gu;
document.form1.total.value = gu; 
};

// aqui começa o srcipt da quantidade
function calcula_3() {
//Pega novamente as variaveis para um novo calculo
var tqnt_3 = document.getElementById("qnt_3").value;     
var tvlr_3 = document.getElementById("vlr_3").value;     
    
    if((tqnt_3 == "" || tqnt_3 == null) && (tvlr_3 == "" || tvlr_3 == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(tqnt_3.indexOf(',') != -1)  
        tqnt_3 = tqnt_3.replace(',','.');  
  	//retira caracteres especiais do campo
    while(tvlr_3.indexOf(',') != -1)  
        tvlr_3 = tvlr_3.replace(',','.'); 
	
// multiplica os 2 campos
t_vlritem_3 = parseFloat(tqnt_3*tvlr_3);
// passa o valor para o campo total
document.form1.vlritem_3.value = t_vlritem_3;

var vlritem_1c = document.getElementById("vlritem_1").value;
var vlritem_2c = document.getElementById("vlritem_2").value;
var vlritem_3c = document.getElementById("vlritem_3").value;  

if((vlritem_1c == "" || vlritem_1c == null) && (vlritem_2c == "" || vlritem_2c == null) && (vlritem_3c == "" || vlritem_3c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlritem_1c.indexOf(',') != -1)  
        vlritem_1c = vlritem_1c.replace(',','.');
	//retira caracteres especiais do campo
	while(vlritem_2c.indexOf(',') != -1)  
        vlritem_2c = vlritem_2c.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_3c.indexOf(',') != -1)  
        vlritem_3c = vlritem_3c.replace(',','.');
		
gu2 = parseFloat(vlritem_1c) + parseFloat(vlritem_2c) + parseFloat(vlritem_3c);

//valor do pedido
document.form1.vlr_pedido.value = gu2;

//valor total
document.form1.total.value = gu2;

} //fecha function calcula











////////////////////////// ITEM 4
function passar_4(){
var bitem_4 = document.getElementById("bitem_4");
var item_4 = document.getElementById("item_4"); 
item_4.value = bitem_4.value;
 
var bqnt_4 = document.getElementById("bqnt_4");
var qnt_4 = document.getElementById("qnt_4"); 
qnt_4.value = bqnt_4.value;

var bvlr_4 = document.getElementById("bvlr_4");
var vlr_4 = document.getElementById("vlr_4"); 
var vlritem_4 = document.getElementById("vlritem_4"); 
var vlr_pedido = document.getElementById("vlr_pedido"); 
var total = document.getElementById("total"); 
vlr_4.value = bvlr_4.value;
vlritem_4.value = bvlr_4.value;

var vlr_pedidoc = document.getElementById("vlr_pedido").value;
var vlritem_4c = document.getElementById("vlritem_4").value;  

if((vlr_pedidoc == "" || vlr_pedidoc == null) && (vlritem_4c == "" || vlritem_4c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlr_pedidoc.indexOf(',') != -1)  
        vlr_pedidoc = vlr_pedidoc.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_4c.indexOf(',') != -1)  
        vlritem_4c = vlritem_4c.replace(',','.');
		
gu = parseFloat(vlr_pedidoc) + parseFloat(vlritem_4c);

document.form1.vlr_pedido.value = gu;
document.form1.total.value = gu; 
};

// aqui começa o srcipt da quantidade
function calcula_4() {
//Pega novamente as variaveis para um novo calculo
var tqnt_4 = document.getElementById("qnt_4").value;     
var tvlr_4 = document.getElementById("vlr_4").value;     
    
    if((tqnt_4 == "" || tqnt_4 == null) && (tvlr_4 == "" || tvlr_4 == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(tqnt_4.indexOf(',') != -1)  
        tqnt_4 = tqnt_4.replace(',','.');  
  	//retira caracteres especiais do campo
    while(tvlr_4.indexOf(',') != -1)  
        tvlr_4 = tvlr_4.replace(',','.'); 
	
// multiplica os 2 campos
t_vlritem_4 = parseFloat(tqnt_4*tvlr_4);
// passa o valor para o campo total
document.form1.vlritem_4.value = t_vlritem_4;

var vlritem_1c = document.getElementById("vlritem_1").value;
var vlritem_2c = document.getElementById("vlritem_2").value;
var vlritem_3c = document.getElementById("vlritem_3").value;
var vlritem_4c = document.getElementById("vlritem_4").value;  

if((vlritem_1c == "" || vlritem_1c == null) && (vlritem_2c == "" || vlritem_2c == null) && (vlritem_3c == "" || vlritem_3c == null) && (vlritem_4c == "" || vlritem_4c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlritem_1c.indexOf(',') != -1)  
        vlritem_1c = vlritem_1c.replace(',','.');
	//retira caracteres especiais do campo
	while(vlritem_2c.indexOf(',') != -1)  
        vlritem_2c = vlritem_2c.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_3c.indexOf(',') != -1)  
        vlritem_3c = vlritem_3c.replace(',','.');
		//retira caracteres especiais do campo
    while(vlritem_4c.indexOf(',') != -1)  
        vlritem_4c = vlritem_4c.replace(',','.');
		
gu2 = parseFloat(vlritem_1c) + parseFloat(vlritem_2c) + parseFloat(vlritem_3c) + parseFloat(vlritem_4c);

//valor do pedido
document.form1.vlr_pedido.value = gu2;

//valor total
document.form1.total.value = gu2;

} //fecha function calcula












////////////////////////// ITEM 5
function passar_5(){
var bitem_5 = document.getElementById("bitem_5");
var item_5 = document.getElementById("item_5"); 
item_5.value = bitem_5.value;
 
var bqnt_5 = document.getElementById("bqnt_5");
var qnt_5 = document.getElementById("qnt_5"); 
qnt_5.value = bqnt_5.value;

var bvlr_5 = document.getElementById("bvlr_5");
var vlr_5 = document.getElementById("vlr_5"); 
var vlritem_5 = document.getElementById("vlritem_5"); 
var vlr_pedido = document.getElementById("vlr_pedido"); 
var total = document.getElementById("total"); 
vlr_5.value = bvlr_5.value;
vlritem_5.value = bvlr_5.value;

var vlr_pedidoc = document.getElementById("vlr_pedido").value;
var vlritem_5c = document.getElementById("vlritem_5").value;  

if((vlr_pedidoc == "" || vlr_pedidoc == null) && (vlritem_5c == "" || vlritem_5c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlr_pedidoc.indexOf(',') != -1)  
        vlr_pedidoc = vlr_pedidoc.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_5c.indexOf(',') != -1)  
        vlritem_5c = vlritem_5c.replace(',','.');
		
gu = parseFloat(vlr_pedidoc) + parseFloat(vlritem_5c);

document.form1.vlr_pedido.value = gu;
document.form1.total.value = gu; 
};

// aqui começa o srcipt da quantidade
function calcula_5() {
//Pega novamente as variaveis para um novo calculo
var tqnt_5 = document.getElementById("qnt_5").value;     
var tvlr_5 = document.getElementById("vlr_5").value;     
    
    if((tqnt_5 == "" || tqnt_5 == null) && (tvlr_5 == "" || tvlr_5 == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(tqnt_5.indexOf(',') != -1)  
        tqnt_5 = tqnt_5.replace(',','.');  
  	//retira caracteres especiais do campo
    while(tvlr_5.indexOf(',') != -1)  
        tvlr_5 = tvlr_5.replace(',','.'); 
	
// multiplica os 2 campos
t_vlritem_5 = parseFloat(tqnt_5*tvlr_5);
// passa o valor para o campo total
document.form1.vlritem_5.value = t_vlritem_5;

var vlritem_1c = document.getElementById("vlritem_1").value;
var vlritem_2c = document.getElementById("vlritem_2").value;
var vlritem_3c = document.getElementById("vlritem_3").value;
var vlritem_4c = document.getElementById("vlritem_4").value;
var vlritem_5c = document.getElementById("vlritem_5").value;  

if((vlritem_1c == "" || vlritem_1c == null) && (vlritem_2c == "" || vlritem_2c == null) && (vlritem_3c == "" || vlritem_3c == null) && (vlritem_4c == "" || vlritem_4c == null) && (vlritem_5c == "" || vlritem_5c == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(vlritem_1c.indexOf(',') != -1)  
        vlritem_1c = vlritem_1c.replace(',','.');
	//retira caracteres especiais do campo
	while(vlritem_2c.indexOf(',') != -1)  
        vlritem_2c = vlritem_2c.replace(',','.');  
  	//retira caracteres especiais do campo
    while(vlritem_3c.indexOf(',') != -1)  
        vlritem_3c = vlritem_3c.replace(',','.');
		//retira caracteres especiais do campo
    while(vlritem_4c.indexOf(',') != -1)  
        vlritem_4c = vlritem_4c.replace(',','.');
	while(vlritem_5c.indexOf(',') != -1)  
        vlritem_5c = vlritem_5c.replace(',','.');
		
gu2 = parseFloat(vlritem_1c) + parseFloat(vlritem_2c) + parseFloat(vlritem_3c) + parseFloat(vlritem_4c) + parseFloat(vlritem_5c);

//valor do pedido
document.form1.vlr_pedido.value = gu2;

//valor total
document.form1.total.value = gu2;

} //fecha function calcula








////////////////////DESCONTO
function calcula_desc() {
//Pega novamente as variaveis para um novo calculo
var tdesconto = document.getElementById("desconto").value;     
var ttotal = document.getElementById("vlr_pedido").value;     
    
    if((tdesconto == "" || tdesconto == null) && (ttotal == "" || ttotal == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(tdesconto.indexOf(',') != -1)  
        tdesconto = tdesconto.replace(',','.');  
  	//retira caracteres especiais do campo
    while(ttotal.indexOf(',') != -1)  
        ttotal = ttotal.replace(',','.'); 
	
// Subtrai os 2 campos
tt = parseFloat(ttotal-(tdesconto));
// passa o valor para o campo total
document.form1.total.value = tt;

}








////////////////////////////////////PARCELA
function calcula_par() {
//Pega novamente as variaveis para um novo calculo
var ttotal = document.getElementById("total").value;     
var tvezes = document.getElementById("n_par").value;     
    
    if((ttotal == "" || ttotal == null) && (tvezes == "" || tvezes == null))  
        return false;  
  
    //retira caracteres especiais do campo
	while(ttotal.indexOf(',') != -1)  
        ttotal = ttotal.replace(',','.');  
  	//retira caracteres especiais do campo
    while(tvezes.indexOf(',') != -1)  
        tvezes = tvezes.replace(',','.'); 
	
// Subtrai os 2 campos
tz = parseFloat(ttotal/tvezes);
// passa o valor para o campo total
document.form1.vlr_par.value = tz;

}

Código PHP

	echo('<tr>');
		echo('<td><div style="width:165px; float:left;">Item<input type="text" value="'.$prod['descricao'].'" name="item_2" style="width:150px "></div></td>');
		echo('<td><div style="width:113px; float:left;">Quantidade<input type="text" onblur="calcula_2();" value="'.$qnt.'" name="qnt_2" id="qnt_2" style="width:100px "></div></td>');
		echo('<td><div style="width:113px; float:left;">Preço<input type="text" onblur="calcula_2();" value="'.$prod['preco_v'].'" name="vlr_2" id="vlr_2" style="width:100px "></div></td>');
		echo('<td><div style="width:113px; float:left;">Valor Total<input type="text" value="'.number_format($qnt*$prod['preco_v'],2,",",".").'" onblur="calcula_2();" name="vlritem_2" id="vlritem_2" style="width:100px "></div></td>');
		echo('</tr>');

Ele esta em uma pagina externa, que é chamada quando eu clico.

Os valores somados são fornecidos nessa parte do html

<td width="678">
	 <input type="text" id="desconto" style="width:100px !important;" name="desconto" onload="calcula_desc();" value="<?= $x['desconto']?>" autocomplete="off" />
			</td>
			</tr>
			<tr>
			<td width="114">
			<span class="tam">Valor Total: </span> 
			</td>
			<td width="678">
			<input type="text" id="total" style="width:100px !important;" name="total" value="<?php echo $x['total'];?>" onload="calcula_desc();" required autocomplete="off" />
			 </td>

Esse código não é meu, estou tentando resolver os problemas dele para poder fazer o programa funcionar,

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.