Foros del Web » Programando para Internet » Javascript »

sumar Campos dinamicos

Estas en el tema de sumar Campos dinamicos en el foro de Javascript en Foros del Web. hola foro tengo este problema que ya tengo rato que no puedo resolverlo el problema es el siguiente: tengo una serie de campos que se ...
  #1 (permalink)  
Antiguo 05/10/2005, 13:43
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
sumar Campos dinamicos

hola foro tengo este problema que ya tengo rato que no puedo resolverlo
el problema es el siguiente:

tengo una serie de campos que se generan dinamicamente

ejemplo


codigo javascript

funcion disparada por un onchange()

function punitario(este){
v=este.value; //valor de precio unitario
n=este.id; //identificar el nombre del campo dinamico
n2=document.all["no"].value; //numero de veces que recorre el while
cant=document.all["cantidad"+n].value; //capta el valor de catidad y lo multiplica
t=v*cant;
document.all["total"+n].value=t; //asigna el valor al campo total correspondiente
document.all["subtotal"].value=t;
for(i=0;i<n2;i++){
tot=document.all["total"+i].value;
document.all["tt"].value=tot+","; //AQUI ES EL PROBLEMA
return
}


al momento que pongo en PRECIO UNITARIO un precio manda automaticamente al campo total que le corresponde , en eso no hay problema, el problema es cuando quiero reunir todos los totales de cada fila y sumarlos en una caja de texto fuera del while , ( como se ve en la imagen)
en la caja de subtotal :

aqui
click para ver la interfaz

Última edición por The_omars; 05/10/2005 a las 13:50
  #2 (permalink)  
Antiguo 05/10/2005, 13:49
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
ok, yo ya hice uno asi, pero no como lo tas programando. pero veamos entonces como generas el "input" del precio para cada producto.

me lo puedes postear para analizarlo?
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 05/10/2005, 14:03
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
que tal suruman:

el numero de precio unitario tu lo vas llenando dianamica mente por ejemplo:

( cheka la imagen que puse)

estan los campos generados:

los campos de p.Unitario estan vacios. tu los vas capturando al momento que das onchange manda el valor a total correspondiente al producto

Ver Aqui

con este script

function punitario(este){
v=este.value; //valor de p.unitario
n=este.id; //numero de veces que se hizo el while por ejemplo en la imagen 3
cant=document.all["cantidad"+n].value;
t=v*cant;
document.all["total"+n].value=t; //asiga la cantidad al total correspondiente
}

entonces

los input tienen nombres dinamicoa por ejemplo:

<input type=text name="<? echo "campo".$x=0; ?>">

esto va aparecer:

<input type=text name=campo0>
<input type=text name=campo1>
<input type=text name=campo2>

y asi puedo asignar con javascript el valor de cada p.unitario y total.

la bronca es al momento de querer sumar todos los totales de cada producto

para asignarlo a Subtotal.


Ver Aqui la imagen
  #4 (permalink)  
Antiguo 05/10/2005, 14:11
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
porque no lo trabjas mejor con un mismo nombre y entonces haces el request tanto en JavaScript para sumar los valores com para PHP para guardarlos???

y mi pregunta anterior era: en donde insertas el: <input type="text" value="" name="noc">???

me imagino que hay un boton que dice "Agregar Producto" o solo son esos tres??

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #5 (permalink)  
Antiguo 05/10/2005, 14:15
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
x ejemplo, chequea esto y dime si es asi lo que buscas.... en la parte donde dice CESION... agregas lo que sea y siempre va a ser infinito....

http://www.encartelera.com/illuek/datos_facilidad.asp
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #6 (permalink)  
Antiguo 06/10/2005, 06:55
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
HOla suruman , los inputs los saco de una consulta por ejemplo esa consulta que ves en la imagen AQUI

es de una requisicion de materiales que se ha dado de alta anterirmente, ahora esta parte lo que hace es sacar el mejor precio ( mas barato) que el proveedor nos da ( selects son loa proveedores)

ahora esta parte de sacar los precios y el subtotal no se guerdaran solo es como una hoja de calculo , que al momento de que ponga cuanto cuesta el producto y cambe de casillero haga la multiplicacion por el numero de productos que se pidieron ( CANTIDAD : cant) y al momento tambien vaya agregandolo en el subtotal y lo vaya sumando en cuanto los datos se esten agregando


les agrego el codigo donde saco las filas a ver si le entienden :P

Código PHP:
<? while($row3=mysql_fetch_row($res3)){ ?>
<tr id="<? echo "fila".$a++; ?><?  if($row3[6]==1){ ?>  bgcolor="#CC0000" <? }?>><td>&nbsp;<input type="text" value="<? echo $row3[2];?>" size="4" name="<? echo "cantidad".$y++; ?>" readonly><td>&nbsp;<input type="text" value="<? echo $row3[3];?>" size="4" name="<? echo "unidad".$z++; ?>" readonly><td>&nbsp;
    <input type="text" value="<? echo $row3[4]; ?>" size="70" name="<? echo "desc".$v++; ?>" readonly>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td><input type="text"  size="10" name="<? echo "p_unitario".$x2++; ?>" id="<? echo $m++; ?>" onChange="punitario(this)">&nbsp;<td><input type="text" name="<? echo "total".$x3++; ?>" size="10" readonly>&nbsp;<td><td>&nbsp;&nbsp;&nbsp;<input type="text" name="p_unitario2" size="10">&nbsp;<td><input type="text" name="" size="10">&nbsp;    
<? $m2++; //saber cuantos campos genero
 
}?>
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 19:40.