Foros del Web » Programando para Internet » Javascript »

Sumar Array por ID

Estas en el tema de Sumar Array por ID en el foro de Javascript en Foros del Web. Buenas foreros!, resulta que tengo unos campos tipo "text" generados por PHP, dinamicos y necesito realizar una operacion de suma, el codigo es este. [PHP]echo ...
  #1 (permalink)  
Antiguo 13/02/2009, 19:14
Avatar de rudy69  
Fecha de Ingreso: octubre-2008
Ubicación: espndeportes.com
Mensajes: 195
Antigüedad: 15 años, 6 meses
Puntos: 7
Sumar Array por ID

Buenas foreros!, resulta que tengo unos campos tipo "text" generados por PHP, dinamicos y necesito realizar una operacion de suma, el codigo es este.

[PHP]echo "<td><input type=\"text\" maxlength=\"7\" size=\"3\" id=\"DescuentoCargos[]\" name=\"".$ArtInv["CodigoBarra"]."\" /></td>"; [PHP]

estan dentro de un while que generara tantos campos que el usuario desee, name es variable con tantos nombres como campos y nunca se repite y solo se me ha ocurrido unirlos por el Id como un array, para no hacer tanto el cuento, como obtengo la suma de los datos que el usuario inserte, solo numericos, se poco de JavaScript y solo se que PUEDA que vaya por este rumbo la solucion

Código HTML:
<script language="javascript">
function sumaArray (id) {
  if (!document.getElementById) return false;
  fila = document.getElementById(id);
  var i;
  var suma;
  for (i=0;i<=fila.length;i++) {
	if(!suma) {
	suma=fila[i].value;}
	else {
	suma=suma+fila[i].value; }
  }
}
</script> 

Última edición por rudy69; 13/02/2009 a las 19:53
  #2 (permalink)  
Antiguo 14/02/2009, 01:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Sumar Array por ID

Hola:

No, no, no... ... el id debe ser siempre único... y por el contrario el name si que se puede repetir, incluso puedes repetir otros atributos como class (className)... con el atributo name también podrías tener cosas del tipo: name="ArtInv[]"... y ese tipo de nombre sí que se pueden recorrer con bucles (si son elementos de un form mejor:

datos = document.forms.el_form["ArtInv[]"];
for (i = 0, total = datos.length; i < total; i ++)...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/02/2009, 10:29
Avatar de rudy69  
Fecha de Ingreso: octubre-2008
Ubicación: espndeportes.com
Mensajes: 195
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: Sumar Array por ID

El atributo name no se puede repetir porque tengo que recoger su valor posteriormente con php hay un campo tipo hidden que guarda los nombres que toma $ArtInv["CodigoBarra"], esto no viene al caso pero es para hacer un mini sistema de ventas.

tres campos tipo hidden guardan en array estos valores.
Código PHP:
<input type="hidden" name="ArticuloUnidadesVender" value="<?php echo $AAC?>" />

<input type="hidden" name="ArticuloPrecioUni" value="<?php if (isset($ArtcPrecioUnit)) { $APU=EnviarArrayUrl($ArtcPrecioUnit); echo $APU; } ?>" />

<input type="hidden" name="ArtPrecioTotal" value="<?php if (isset($ArtcPrecioTotal)) { $APT=EnviarArrayUrl($ArtcPrecioTotal); echo $APT; } ?>" />
y se definen asi
clave = > valor
CodigoBarra = > Unidades a comprar siempre >=1
CodigoBarra = > Precio unitario
CodigoBarra = > El total a pagar por cada articulo (unidades*precio unitario).

Y el campo que deseo agregar es para ponerle descuentos o cargos a un articulo en especifico y claro y sumarle para sacarle el total a pagar, no puede ser un array con el mismo nombre porque no los podria distinguir despues mmm ahora que lo pienso creo que si se puede reconocer ........

Pero igual, no se sumar valores de un array con JavaScript
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 05:02.