Foros del Web » Programando para Internet » Javascript »

que error tiene

Estas en el tema de que error tiene en el foro de Javascript en Foros del Web. tengo este codigo javascript para calcular el iva, pero en la parte de la suma no me arroja el el resultado que deseo, alcontrario en ...
  #1 (permalink)  
Antiguo 15/08/2008, 15:24
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 2 meses
Puntos: 1
que error tiene

tengo este codigo javascript para calcular el iva, pero en la parte de la suma no me arroja el el resultado que deseo, alcontrario en la primer caja me lo multiplica x 100 y la verdad no se por donde pueda tener un error agradeceria me ayuden
saludos


Código:
<html>
<head>
<script language="JavaScript">

function calcular_iva()
{
valor1 = document.calcula_iva.cantidad1.value
valor2 = document.calcula_iva.cantidad2.value
valor3 = document.calcula_iva.cantidad3.value
valor4 = document.calcula_iva.cantidad4.value

suma = (valor1 + valor2 + valor3 + valor4)
/*iva = (sumatoria * 0.15)
con_iva = (sumatoria + iva)*/
document.calcula_iva.resultado.value = suma
}
</script>

<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="calcula_iva" method="post" action="">
  <p>
    <input name="cantidad1" type="text" id="cantidad1" value="0" onChange="calcular_iva();">
</p>
  <p>
    <input name="cantidad2" type="text" id="cantidad2" value="0" onChange="calcular_iva();">
  </p>
  <p>
    <input name="cantidad3" type="text" id="cantidad3" value="0" onChange="calcular_iva();">
  </p>
  <p>
    <input name="cantidad4" type="text" id="cantidad4" value="0" onChange="calcular_iva();"> 
  </p>
  <p>
    <input name="resultado" type="text" id="resultado"  value="0" onChange="calcular_iva();">
</p>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 15/08/2008, 15:35
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: que error tiene

Hola.

Intenta lo siguiente:

Código PHP:
<script language="JavaScript">

function 
calcular_iva(){
valor1 parseFloat(document.calcula_iva.cantidad1.value);
valor2 parseFloat(document.calcula_iva.cantidad2.value);
valor3 parseFloat(document.calcula_iva.cantidad3.value);
valor4 parseFloat(document.calcula_iva.cantidad4.value);

suma = (valor1 valor2 valor3 valor4);
con_iva = (parseFloat(sumatoria )* 1.15);
document.calcula_iva.resultado.value con_iva;
}
</script> 
Recuerda que la mayoria de las veces debes de convertir (parseFloat,parseInt) porque JavaScript carece de tipos estrictos de variables.
  #3 (permalink)  
Antiguo 15/08/2008, 15:50
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 2 meses
Puntos: 1
De acuerdo Respuesta: que error tiene

NO MI AMIGO NO ME ARROJA NINGUN RESULTADO AHORA, PARA QUE SIRVE EL
Código PHP:
(parseFloat(suma )* 1.15
estube mobiendole antes de que me mandara esta modificacion al codigo y parece que los pinta nada mas si quiro sumar 1+1+1+1=4

lo pinta asi 1111 sin sumar
  #4 (permalink)  
Antiguo 15/08/2008, 16:02
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: que error tiene

Javascript toma los valores de los campos como cadenas, es por eso que te regresa 1111 porque el operador + es utilizado para concatenar y para sumar. Por eso mismo debes de convertir esta cadena en un numero Flotante (Flotante porque lo multiplicaras por otro flotante). Para eso es el parseFloat(). El parseInt() hace algo parecido pero te lo convierte a entero.
  #5 (permalink)  
Antiguo 15/08/2008, 16:06
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: que error tiene

Si pruebas este codigo te daras cuenta de lo que hablo:

Código PHP:
<script type="text/javascript">
            function 
calcular_iva(){
                
valor1 parseFloat("1");
                
valor2 parseFloat("1");
                
valor3 parseFloat("1");
                
valor4 parseFloat("1");

                
suma = (valor1 valor2 valor3 valor4);
                
con_iva = (parseFloat(suma )* 1.15);
                
alert(con_iva);
            }
            
calcular_iva();
        
</script> 
  #6 (permalink)  
Antiguo 15/08/2008, 16:07
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 9 meses
Puntos: 23
Respuesta: que error tiene

alvarock el problema en tu original es que esta comentarizado una seccion

suma = (valor1 + valor2 + valor3 + valor4)
/*iva = (sumatoria * 0.15)
con_iva = (sumatoria + iva)*/
document.calcula_iva.resultado.value = suma

y ademas haces referencia a la variable sumatoria que no esta definida (supongo es "suma")
  #7 (permalink)  
Antiguo 15/08/2008, 16:18
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 2 meses
Puntos: 1
De acuerdo Respuesta: que error tiene

ok muchas gracias por el comentario pero en efecto asi lo tengo por que primero queria resolver el problema de la suma de por que me hacia una multiplicacion pero parece que ya resolvi mi problema convirtiendo los datos recividos a enteros con
Código PHP:
parseInt 
y si ya me funciona con este codigo
Código PHP:
function calcular_iva()
{
valor1 parseInt(document.calcula_iva.cantidad1.value)
valor2 parseInt(document.calcula_iva.cantidad2.value)
valor3 parseInt(document.calcula_iva.cantidad3.value)
valor4 parseInt(document.calcula_iva.cantidad4.value)

suma = (valor1 valor2 valor3 valor4)
iva = (parseInt(suma )* 0.15
con_iva = (suma iva)
document.calcula_iva.resultado.value con_iva
}
</script> 
Gracias por sus comentarios sigo intentado
  #8 (permalink)  
Antiguo 16/08/2008, 09:44
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 2 meses
Puntos: 1
De acuerdo Respuesta: que error tiene

Con el mismo tema de ayer, tengo 8 cajas de texto las 8 las necesito y hacer operaciones con ellas por separado 4 y 4 , tengo mi tabla 4 en lado izq. y 4 en el lado derecho, las 4 cajas del lado derecho son las unica que se suman y me sacan el iva las del lado izquierdo solo se tienes que sumar y al final sacar un total sumandose con el total de las otras 4 cajas espero y me haya dado a entender gracias y haber quien me podria ayudar gracias

Código PHP:

<html>
<
head>
<
script language="JavaScript">

    function 
calcular_iva()
        {
            
            
valor1 parseInt(document.calcula_iva.cantidad1.value)
            
valor2 parseInt(document.calcula_iva.cantidad2.value)
            
valor3 parseInt(document.calcula_iva.cantidad3.value)
            
valor4 parseInt(document.calcula_iva.cantidad4.value)
            
            
val1 parseInt(document.calcula_iva.valor_1.value)
            
val2 parseInt(document.calcula_iva.valor_2.value)
            
val3 parseInt(document.calcula_iva.valor_3.value)
            
val4 parseInt(document.calcula_iva.valor_4.value)

            
suma1 = (val1 val2 val3val4 )
            
suma = (valor1 valor2 valor3 valor4)
            
iva = (parseInt(suma )* 0.15
            
con_iva = (suma iva)

            
document.calcula_iva.suma.value suma1
            document
.calcula_iva.suma.value suma
            document
.calcula_iva.iva.value iva
            document
.calcula_iva.resultado.value con_iva
        
}
</script>

<title>::: Distribuidora Hugo's S.A. DE C.V. :::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<center>
<form name="calcula_iva" method="post" action="suma.htm">
  <p>&nbsp;    </p>
  <table width="329" border="0">
    <tr>
      <td width="149"><input name="valor_1" type="text" id="valor_1" value="0" onChange="calcular_iva();"></td>
      <td width="36">&nbsp;</td>
      <td width="151"><input name="cantidad1" type="text" id="cantidad1"  value="0" onChange="calcular_iva();"></td>
    </tr>
    <tr>
      <td><input name="valor_2" type="text" id="valor_2" value="0" onChange="calcular_iva();"></td>
      <td>&nbsp;</td>
      <td><input name="cantidad2" type="text" id="cantidad2"  value="0" onChange="calcular_iva();"></td>
    </tr>
    <tr>
      <td><input name="valor_3" type="text" id="valor_3" value="0" onChange="calcular_iva();"></td>
      <td>&nbsp;</td>
      <td><input name="cantidad3" type="text" id="cantidad3"  value="0" onChange="calcular_iva();"></td>
    </tr>
    <tr>
      <td><input name="valor_4" type="text" id="valor_4" value="0" onChange="calcular_iva();"></td>
      <td>&nbsp;</td>
      <td><input name="cantidad4" type="text" id="cantidad4"  value="0" onChange="calcular_iva();"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input name="suma1" type="text" id="suma1"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input name="suma" type="text" id="suma"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input name="iva" type="text" id="iva"></td>
    </tr>
    <tr>
      <td height="24">&nbsp;</td>
      <td>&nbsp;</td>
      <td><input name="resultado" type="text" id="resultado"></td>
    </tr>
  </table>
  <p>
    <input name="Reset" type="reset" id="Reset" value="Calular Otro">
  </p>
</form>
</center>
</body>
</html> 
  #9 (permalink)  
Antiguo 18/08/2008, 07:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Exclamación Respuesta: que error tiene

Esta parte del código está mal:
Código PHP:
            document.calcula_iva.suma.value suma1 
            document
.calcula_iva.suma.value suma 
Estás sobreescribiendo el campo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 18/08/2008, 08:58
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 2 meses
Puntos: 1
De acuerdo Respuesta: que error tiene

OK MUCHAS GRACIAS, UN ERROR MUY PEQUEÑITO PERO POR ESTAR DESESPERADO NO LO VI

MUCHAS GRACIAS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:28.