Foros del Web » Programando para Internet » Javascript »

Error en Sintaxis favor corregir

Estas en el tema de Error en Sintaxis favor corregir en el foro de Javascript en Foros del Web. Hola estoy haciendo este script para que sume los valores de unos inputs que genere dinamicamente pero tengo algun error en el codigo ya que ...
  #1 (permalink)  
Antiguo 20/04/2007, 17:22
 
Fecha de Ingreso: febrero-2004
Ubicación: En Copiapó
Mensajes: 52
Antigüedad: 20 años, 2 meses
Puntos: 0
Error en Sintaxis favor corregir

Hola estoy haciendo este script para que sume los valores de unos inputs que genere dinamicamente pero tengo algun error en el codigo ya que me entrega resultado undefined, si alguien puede corregirlo lo agradecere.

<script>
function suma()
{
var num_lineas = document.getElementById('theValue');

for (i=1; i<=num_lineas; i++)
{
var vlinea= document.getElementById('cantidad_producto"+i+"') * document.getElementById('valor_producto"+i+"');
var resultado=vlinea + suma;
}
document.getElementById('total_factura').value=res ultado;
}

</script>
__________________
:pirata:
  #2 (permalink)  
Antiguo 20/04/2007, 18:51
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 18 años, 1 mes
Puntos: 2
Re: Error en Sintaxis favor corregir

Bueno, de primeras estás operando con objetos, no con números, document.getElementById('theValue') se refiere a un objeto, una etiqueta de html. En todo caso deberías poner document.getElementById('theValue').value, que es el valor de la etiqueta (aunque seguramente no sea un numero, sino una cadena de texto que contenga unicamente numeros). Lo mismo pasa con los otros dos.

Luego en document.getElementById('cantidad_producto"+i+"') usas indistintamente comillas dobles y comillas simples deberías escribir document.getElementById('cantidad_producto'+i+'').

Finalmente, no haces la suma correctamente (utilizas una variable suma que no has definido anteriormente).

La cosa quedaría así:

function suma()
{
var num_lineas= document.getElementById('theValue').value;
var resultado= 0;

for (i=1; i<=num_lineas; i++)
{
var vlinea= document.getElementById('cantidad_producto'+i+''). value * document.getElementById('valor_producto'+i+'').val ue;
resultado= resultado + vlinea;
}

document.getElementById('total_factura').value= resultado;
}

Pero igualmente no creo que funcione porque estás operando indistintamente con texto (que contiene números) y números. De todas maneras intenta copiar todo el código para que podamos ver cuál es la mejor solución.
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 06:30.