Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2008, 12:06
Kratos-MOD
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Problemas con eventos onClick

Resulta que estoy haciendo un webshop para un servidor de Mu Online, pero tengo un problema que es al usar dos eventos en un onClick. El problema es el siguiente:
Hice un menu con 6 opciones (las opciones de los equipos excelentes) que está formado por checkboxes.
Ahora, yo quiero que 2 de estas 6 opciones se puedan elegir (o sea, solo limitar a 2 elecciones) y al mismo tiempo que sume el precio que va a gastar el usuario.
El codigo que utilizo para la suma de precios es el siguiente:
Código:
<script type="text/javascript">
var total=0;
function precio (valor, idbutton) {
if (document.getElementById(idbutton).checked) {
total=parseInt(total) + parseInt(valor);
document.getElementById('textovalor').innerHTML = "Total: $"+total;
}
else {
total=parseInt(total)-parseInt(valor);
document.getElementById('textovalor').innerHTML = "Total: $"+total;
}
}
</script>
Para activarlo uso el evento onClick="precio(valor, id)" [Ejemplo: onClick="precio('1', '1')". El ID del checkbox es 1 y el precio que va a subir es 1] (Creo que saben leerlo y entenderlo).

Y el script que uso para limitar las checkboxes es byName. Este es el siguiente:
Código:
<script>
function doIt(_v,casilla,form)

{

 
            a = casilla.form.exc0.checked;
            b = casilla.form.exc1.checked;
            c = casilla.form.exc2.checked;
            d = casilla.form.exc3.checked;
            e = casilla.form.exc4.checked;
			f = casilla.form.exc5.checked;

 

contador = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0) + (e ? 1 : 0) + (f ? 1 : 0);

    if (contador > 2)

    {
	casilla.checked = false;
	
	alert("Solo puedes elegir 2 opciones excellent");



    }

 
  var X=eval("document.leather.exc"+_v+".checked?0:1");

  if(isIE)

  {

    eval(""+_v+".style.backgroundColor=bC[X]");

    eval(""+_v+".style.color=C[X]");

  }

  if(isNS6)

  {

    document.getElementById("exc"+_v).style.backgroundColor=bC[X];

    document.getElementById("exc"+_v).style.color=C[X];

  }

} 
          

</script>
Lo que quiero es limitar los checkboxes a 2 elecciones y que continuo sumando el precio.
El problema de esto, es que cuando intento hacer estos dos eventos en un onClick no me funcionan.
O sea, 1 solo me funciona, pero el otro no.

Les muestro lo siguiente:
1. Pongo: onClick="doIt(this,this,this_form);precio('1', '2')".
Ahi solo me funciona el doIt, el func precio no me funciona
2. Pongo: onClick="precio('1', '2');doIt(this,this,this_form)"
Aca precio funciona bien y doIt tambien, pero cuando marco 3 casillas (el doIt solo me permite 2), al desactivarla no me resta el precio que tenia la casilla seleccionada, lo deja como si la casilla seguiria marcada.

Espero que me puedan ayudar.
Gracias de antemano.
Atte, Kratos.

Última edición por Kratos-MOD; 25/07/2008 a las 07:07