Foros del Web » Programando para Internet » Javascript »

Hacer que funcione un script de autosuma MULTIPLE con checkbox

Estas en el tema de Hacer que funcione un script de autosuma MULTIPLE con checkbox en el foro de Javascript en Foros del Web. Hola gente, tengo una página en la que expongo los precios de 3 computadoras diferentes en tres columnas, abajo de cada precio hay una serie ...
  #1 (permalink)  
Antiguo 16/06/2009, 20:28
 
Fecha de Ingreso: enero-2007
Mensajes: 8
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Hacer que funcione un script de autosuma MULTIPLE con checkbox

Hola gente, tengo una página en la que expongo los precios de 3 computadoras diferentes en tres columnas, abajo de cada precio hay una serie de CheckBox con diferentes opciones que al seleccionarlas van incrementando el costo de cada computadora... todo funciona bien con la primer compu, pero al poner las opciones y precios de la segunda y terncera, la suma sigue ocurriendo en el total de la primer computadora... no logro hacer que cada columna de checkbox de su propio resultado en el precio que le corresponde (este es el sitio: sinicpc PUNTO com DIAGONAL cotizapc PUNTO html).

Les pongo el código que estoy usando a ver si alguien me puede orientar. Mil gracias. Mi correo es tunerrunner ARROBA hotmail PUNTO com

CÓDIGO CUANDO PUSE UN SOLO SCRIPT Y UNA SOLA FORMA:

<script language="javascript">
<!--
function Suma(isChecked, myValue)
{
tot = parseInt(document.form1.total.value);
myValue = parseInt(myValue);
if (isChecked) document.form1.total.value = tot + myValue;
else document.form1.total.value = tot - myValue;
}
-->
</script>

ESTE ES PARTE DEL CÓDIGO HTML DONDE ESTÁ LA FORM:

<form name="form1" method="post" action="">
<p>
<input name="checkbox" type="checkbox" onClick="Suma(this.checked,this.value)" value="100"> <strong>PROCESADOR AMD ATHLON LE-1640</strong><br>
<input name="checkbox1" type="checkbox" onClick="Suma(this.checked,this.value)" value="250">
<strong>2 GB DE MEMORIA RAM<br></strong>
<input name="checkbox2" type="checkbox" onClick="Suma(this.checked,this.value)" value="150">
<strong>320 GB DE DISCO DURO</strong><br>
<input name="checkbox3" type="checkbox" onClick="Suma(this.checked,this.value)" value="1500">
<strong>500 GB DISCO DURO EXTERNO USB</strong><br>
<input name="checkbox4" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>LECTOR MÚLTIPLE DE MEMORIAS </strong><br>
<input name="checkbox5" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>QUEMADOR DVD 20X LIGTH SCRIBE </strong><br>
<input name="checkbox6" type="checkbox" onClick="Suma(this.checked,this.value)" value="400">
<strong>TECLADO Y MOUSE INALÁMBRICOS </strong><br>
<input name="checkbox7" type="checkbox" onClick="Suma(this.checked,this.value)" value="200">
<strong>BOCINAS 2.1 (SUBWOOFER) 45 W </strong><br>
<input name="checkbox8" type="checkbox" onClick="Suma(this.checked,this.value)" value="500">
<strong>MONITOR LCD 15&quot; </strong></p>
<p><span class="Estilo1">COSTO FINAL CON OPCIONES ELEGIDAS: $ </span>
<input type="text" style="border:0; border-spacing:0; border-color:#333333; width:40; font-size:15px; background-color:#333333; font:Verdana, Arial, Helvetica, sans-serif; color:#BFD1D7; font-weight:bold" name="total" value="4990">
<span class="Estilo1">.00 MX </span>
</FORM>

ESTE ES EL SCRIPT CUANDO INTENTÉ CON LAS TRES COLUMNAS

<script language="javascript">
<!--
function Suma(isChecked, myValue)
{
tot = parseInt(document.form1.total1.value);
myValue = parseInt(myValue);
if (isChecked) document.form1.total1.value = tot + myValue;
else document.form1.total1.value = tot - myValue;
}

function Suma2(isChecked, myValue)
{
tot = parseInt(document.form2.total2.value);
myValue = parseInt(myValue);
if (isChecked) document.form2.total2.value = tot + myValue;
else document.form2.total2.value = tot - myValue;
}

function Suma3(isChecked, myValue)
{
tot = parseInt(document.form3.total3.value);
myValue = parseInt(myValue);
if (isChecked) document.form3.total3.value = tot + myValue;
else document.form3.total3.value = tot - myValue;
}
-->
</script>

Y EL CÓDIGO HTML CON TRES COLUMNAS (PARTE):

<form name="form1" method="post" action="">
<p>
<input name="checkbox" type="checkbox" onClick="Suma(this.checked,this.value)" value="100"> <strong>PROCESADOR AMD ATHLON LE-1640</strong><br>
<input name="checkbox1" type="checkbox" onClick="Suma(this.checked,this.value)" value="250">
<strong>2 GB DE MEMORIA RAM<br></strong>
<input name="checkbox2" type="checkbox" onClick="Suma(this.checked,this.value)" value="150">
<strong>320 GB DE DISCO DURO</strong><br>
<input name="checkbox3" type="checkbox" onClick="Suma(this.checked,this.value)" value="1500">
<strong>500 GB DISCO DURO EXTERNO USB</strong><br>
<input name="checkbox4" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>LECTOR MÚLTIPLE DE MEMORIAS </strong><br>
<input name="checkbox5" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>QUEMADOR DVD 20X LIGTH SCRIBE </strong><br>
<input name="checkbox6" type="checkbox" onClick="Suma(this.checked,this.value)" value="400">
<strong>TECLADO Y MOUSE INALÁMBRICOS </strong><br>
<input name="checkbox7" type="checkbox" onClick="Suma(this.checked,this.value)" value="200">
<strong>BOCINAS 2.1 (SUBWOOFER) 45 W </strong><br>
<input name="checkbox8" type="checkbox" onClick="Suma(this.checked,this.value)" value="500">
<strong>MONITOR LCD 15&quot; </strong></p>
<p><span class="Estilo1">COSTO FINAL CON OPCIONES ELEGIDAS: $ </span>
<input type="text" style="border:0; border-spacing:0; border-color:#333333; width:40; font-size:15px; background-color:#333333; font:Verdana, Arial, Helvetica, sans-serif; color:#BFD1D7; font-weight:bold" name="total1" value="4990">
<span class="Estilo1">.00 MX </span><span class="list"></span>
</FORM>


SEGUNDA COLUMNA:

<form name="form2" method="post" action="">
<p>
<input name="checkbox" type="checkbox" onClick="Suma(this.checked,this.value)" value="100"> <strong>PROCESADOR AMD ATHLON LE-1640</strong><br>
<input name="checkbox1" type="checkbox" onClick="Suma(this.checked,this.value)" value="250">
<strong>2 GB DE MEMORIA RAM<br></strong>
<input name="checkbox2" type="checkbox" onClick="Suma(this.checked,this.value)" value="150">
<strong>320 GB DE DISCO DURO</strong><br>
<input name="checkbox3" type="checkbox" onClick="Suma(this.checked,this.value)" value="1500">
<strong>500 GB DISCO DURO EXTERNO USB</strong><br>
<input name="checkbox4" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>LECTOR MÚLTIPLE DE MEMORIAS </strong><br>
<input name="checkbox5" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>QUEMADOR DVD 20X LIGTH SCRIBE </strong><br>
<input name="checkbox6" type="checkbox" onClick="Suma(this.checked,this.value)" value="400">
<strong>TECLADO Y MOUSE INALÁMBRICOS </strong><br>
<input name="checkbox7" type="checkbox" onClick="Suma(this.checked,this.value)" value="200">
<strong>BOCINAS 2.1 (SUBWOOFER) 45 W </strong><br>
<input name="checkbox8" type="checkbox" onClick="Suma(this.checked,this.value)" value="500">
<strong>MONITOR LCD 15&quot; </strong></p>
<p><span class="Estilo1">COSTO FINAL CON OPCIONES ELEGIDAS: $ </span>
<input type="text" style="border:0; border-spacing:0; border-color:#333333; width:40; font-size:15px; background-color:#333333; font:Verdana, Arial, Helvetica, sans-serif; color:#BFD1D7; font-weight:bold" name="total2" value="6990">
<span class="Estilo1">.00 MX </span><span class="list"></span>
</FORM>

TERCERA:

<form name="form3" method="post" action="">
<p>
<input name="checkbox" type="checkbox" onClick="Suma(this.checked,this.value)" value="100"> <strong>PROCESADOR AMD ATHLON LE-1640</strong><br>
<input name="checkbox1" type="checkbox" onClick="Suma(this.checked,this.value)" value="250">
<strong>2 GB DE MEMORIA RAM<br></strong>
<input name="checkbox2" type="checkbox" onClick="Suma(this.checked,this.value)" value="150">
<strong>320 GB DE DISCO DURO</strong><br>
<input name="checkbox3" type="checkbox" onClick="Suma(this.checked,this.value)" value="1500">
<strong>500 GB DISCO DURO EXTERNO USB</strong><br>
<input name="checkbox4" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>LECTOR MÚLTIPLE DE MEMORIAS </strong><br>
<input name="checkbox5" type="checkbox" onClick="Suma(this.checked,this.value)" value="100">
<strong>QUEMADOR DVD 20X LIGTH SCRIBE </strong><br>
<input name="checkbox6" type="checkbox" onClick="Suma(this.checked,this.value)" value="400">
<strong>TECLADO Y MOUSE INALÁMBRICOS </strong><br>
<input name="checkbox7" type="checkbox" onClick="Suma(this.checked,this.value)" value="200">
<strong>BOCINAS 2.1 (SUBWOOFER) 45 W </strong><br>
<input name="checkbox8" type="checkbox" onClick="Suma(this.checked,this.value)" value="500">
<strong>MONITOR LCD 15&quot; </strong><br>
<input name="checkbox9" type="checkbox" onClick="Suma(this.checked,this.value)" value="3200">
<strong>WINDOWS XP PRO ESP. ORIGINAL </strong><br>
<input name="checkbox10" type="checkbox" onClick="Suma(this.checked,this.value)" value="800">
<strong>ANTIVIRUS PANDA INT. ORIGINAL </strong><br>
<input name="checkbox11" type="checkbox" onClick="Suma(this.checked,this.value)" value="200">
<strong>TARJETA DE RED INALÁMBRICA PCI </strong></p>
<p><span class="Estilo1">COSTO FINAL CON OPCIONES ELEGIDAS: $ </span>
<input type="text" style="border:0; border-spacing:0; border-color:#333333; width:40; font-size:15px; background-color:#333333; font:Verdana, Arial, Helvetica, sans-serif; color:#BFD1D7; font-weight:bold" name="total3" value="8990">
<span class="Estilo1">.00 MX </span><span class="list"></span>
</FORM>
  #2 (permalink)  
Antiguo 30/06/2009, 09:55
 
Fecha de Ingreso: enero-2007
Mensajes: 8
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Respuesta: Hacer que funcione un script de autosuma MULTIPLE con checkbox

¿Alguna idea?
  #3 (permalink)  
Antiguo 30/06/2009, 12:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Hacer que funcione un script de autosuma MULTIPLE con checkbox

tu problema es que en el segundo y tercer formulario estas haciendo referencia a lla funcion suma del primer cuadro cambialo a las otras funciones de suma

TERCERA:

<form name="form3" method="post" action="">
<p>
<input name="checkbox" type="checkbox" onClick="Suma3(this.checked,this.value)" value="100"> <strong>PROCESADOR AMD ATHLON LE-1640</strong><br>
<input name="checkbox1" type="checkbox" onClick="Suma3(this.checked,this.value)" value="250">
<strong>2 GB DE MEMORIA RAM<br></strong>
<input name="checkbox2" type="checkbox" onClick="Suma3(this.checked,this.value)" value="150">
<strong>320 GB DE DISCO DURO</strong><br>
<input name="checkbox3" type="checkbox" onClick="Suma3(this.checked,this.value)" value="1500">
<strong>500 GB DISCO DURO EXTERNO USB</strong><br>
<input name="checkbox4" type="checkbox" onClick="Suma3(this.checked,this.value)" value="100">
<strong>LECTOR MÚLTIPLE DE MEMORIAS </strong><br>
<input name="checkbox5" type="checkbox" onClick="Suma3(this.checked,this.value)" value="100">
<strong>QUEMADOR DVD 20X LIGTH SCRIBE </strong><br>
<input name="checkbox6" type="checkbox" onClick="Suma3(this.checked,this.value)" value="400">
<strong>TECLADO Y MOUSE INALÁMBRICOS </strong><br>
<input name="checkbox7" type="checkbox" onClick="Suma3(this.checked,this.value)" value="200">
<strong>BOCINAS 2.1 (SUBWOOFER) 45 W </strong><br>
<input name="checkbox8" type="checkbox" onClick="Suma3(this.checked,this.value)" value="500">
<strong>MONITOR LCD 15&quot; </strong><br>
<input name="checkbox9" type="checkbox" onClick="Suma3(this.checked,this.value)" value="3200">
<strong>WINDOWS XP PRO ESP. ORIGINAL </strong><br>
<input name="checkbox10" type="checkbox" onClick="Suma3(this.checked,this.value)" value="800">
<strong>ANTIVIRUS PANDA INT. ORIGINAL </strong><br>
<input name="checkbox11" type="checkbox" onClick="Suma3(this.checked,this.value)" value="200">
<strong>TARJETA DE RED INALÁMBRICA PCI </strong></p>
<p><span class="Estilo1">COSTO FINAL CON OPCIONES ELEGIDAS: $ </span>
<input type="text" style="border:0; border-spacing:0; border-color:#333333; width:40; font-size:15px; background-color:#333333; font:Verdana, Arial, Helvetica, sans-serif; color:#BFD1D7; font-weight:bold" name="total3" value="8990">
<span class="Estilo1">.00 MX </span><span class="list"></span>
</FORM>


espero que te sirva saludos
  #4 (permalink)  
Antiguo 30/06/2009, 18:19
 
Fecha de Ingreso: enero-2007
Mensajes: 8
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Hacer que funcione un script de autosuma MULTIPLE con checkbox

EXCELENTE! Mil gracias. Parecía tan simple (y para quienes saben, como tu, lo es, claro jejeje), pero que bueno que me pudiste ayudar porque ya me tenía mareado ese código. Gracias de nuevo.
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 17:41.