Ir para conteúdo

POWERED BY:

Arquivado

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

onedev

Script para somar valores de um checkbox

Recommended Posts

O código abaixo funciona perfeito, porem ele soma os valores do VALUE. Ai acaboq ue tenho problemas para gravar o value no banco de dados.

Como posso alterar o código para que ele some os valores sendo que esses valores não estejam no value="" e sim em um outro campo, pode ser o alt="" por exemplo.

 

   1. <HTML>  
   2. <HEAD>  
   3. <TITLE> Teste </TITLE>  
   4. <script LANGUAGE="JavaScript">  
   5. <!--  
   6. var total = 0;  
   7. function soma(campo) {  
   8.     if (campo.checked)  
   9.         total += eval(campo.value);  
  10.     else   
  11.         total -= eval(campo.value);  
  12.     document.sistema.total.value = total;  
  13. }  
  14. //-->  
  15. </SCRIPT>  
  16.   
  17. </HEAD>  
  18.   
  19. <BODY>  
  20. <FORM METHOD=POST ACTION="" name="sistema">  
  21.   
  22. 1<input type="checkbox" name="valor" value="1.5" onClick="soma(this)">  
  23. 2<input type="checkbox" name="valor" value=".5" onClick="soma(this)">  
  24. 3<input type="checkbox" name="valor" value="3" onClick="soma(this)">  
  25. 4<input type="checkbox" name="valor" value="4" onClick="soma(this)">  
  26.   
  27. <input type="text" name="total" value="">  
  28.   
  29. </FORM>  
  30. </BODY>  
  31. </HTML>  

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não entendi porque você tem problemas para gravar no banco de dados

é do value mesmo que se pega, se você quer pegar o valor de vários campos selecionados tem que criar um array


<input type="checkbox" name="valor[]" value="1.5" onclick="soma(this.value)">
<input type="checkbox" name="valor[]" value=".5" onclick="soma(this.value)">
<input type="checkbox" name="valor[]" value="3" onclick="soma(this.value)">
<input type="checkbox" name="valor[]" value="4" onclick="soma(this.value)">  

e depois estraia esses valores que estarão no array, se o seu problema for pegar o valor de todos os campos do checkbox é isso, senão desculpa mais não entendi o que você quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema não é pegar o valor de vários campos, o problema é que eu quero pegar o value= diferente dos valores numericos, por exemplo:

 

<input type="checkbox" name="servico1" value="sim" alt="1.5" onclick="soma(this.value)">
<input type="checkbox" name="servico2" value="sim" alt=".5" onclick="soma(this.value)">
<input type="checkbox" name="servico3" value="sim" alt="3" onclick="soma(this.value)">
<input type="checkbox" name="servico4" value="sim" alt="4" onclick="soma(this.value)">  

O ideal seria o código acima, o name individual para cada serviço. O value não ficará o valor, ficará o conteúdo que será gravado. E no alt="" ou qualquer outro campo ficaria o valor que vai ser somado. Minha ideia é construir um formulário que o cliente escolha os serviços que ele deseja o a soma dos valores sejá apenas para informa-lo de quanto custará o serviço.

 

Tentei fazer algo assim mas não deu certo:

 

<input type="checkbox" name="servico1" value="sim" alt="1.5" onclick="soma(this.alt)">

   4. <script LANGUAGE="Javascript">  
   5. <!--  
   6. var total = 0;  
   7. function soma(campo) {  
   8.     if (campo.checked)  
   9.         total += eval(campo.alt);  
  10.     else   
  11.         total -= eval(campo.alt);  
  12.     document.sistema.total.alt= total;  
  13. }  
  14. //-->  
  15. </SCRIPT> 

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.