Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2013, 11:05
Lossarnach
 
Fecha de Ingreso: junio-2009
Mensajes: 44
Antigüedad: 14 años, 10 meses
Puntos: 1
Múltiples funciones

Este post no es una pregunta a medias, me explico, lo que vengo a preguntar es que las funciones que he realizado me salen correctamente, sin embargo haciéndolas de otra forma no salen cuando creo que deberían de salir, os pongo el código de como debería de funcionar:

Código:
<!-- Ponemos dos checkbox para hacer una suma -->
<input type="checkbox" id="opcion_c1" onclick="recalcular()">80<br>	
<input type="checkbox" id="opcion_t1" onclick="recalcular()">105<br>
<!-- Aquí nos motrara el resultado de las sumas -->
<div id="msgSuma">55</div>	

<script>
     function recalcular(){
          var a = document.getElementById("opcion_c1");
          var b = document.getElementById("opcion_t1");
          var suma = document.getElementById("msgSuma");

/*Si pulsamos el checkbox nos sumara a la cifra del <div> 100 y si los "descheckeamos nos restara la 100. */
          if(a.checked) {
	       suma.innerHTML = parseInt(suma.innerHTML) + parseInt(100);
	  }else{
	       suma.innerHTML = parseInt(suma.innerHTML) - parseInt(100);
	  }

/*Y si pulsamos el segundo checkbox sumamos al <div> 80. Lo mismo que el anterior.*/
          if(b.checked) {
	       suma.innerHTML = parseInt(suma.innerHTML) + parseInt(80);
	  }else{
	       suma.innerHTML = parseInt(suma.innerHTML) - parseInt(80);
	  }
</script>
Y ahora os pongo el código como funciona correctamente, que es el mismo pero puesto en dos <script>.

Código:
<input type="checkbox" id="opcion_c1" onclick="recalcular()">80<br>	
<input type="checkbox" id="opcion_t1" onclick="recalcular()">105<br>

<div id="msgSuma">55</div>	

<script>
      function recalcularA(){
           var a = document.getElementById("opcion_c1");
           var suma = document.getElementById("msgSuma");
           if(b.checked) {
	       suma.innerHTML = parseInt(suma.innerHTML) + parseInt(80);
	   }else{
	       suma.innerHTML = parseInt(suma.innerHTML) - parseInt(80);
	   }
      }
</script>

<script>
      function recalcularB(){
           var b = document.getElementById("opcion_t1");
           var suma = document.getElementById("msgSuma");
           if(b.checked) {
	       suma.innerHTML = parseInt(suma.innerHTML) + parseInt(100);
	   }else{
	       suma.innerHTML = parseInt(suma.innerHTML) - parseInt(100);
	   }
      }
</script>
Y una ultima pregunta ¿porque no funcionan dos funciones en un mismo <script>?

Un saludo.