Código:
Y ahora os pongo el código como funciona correctamente, que es el mismo pero puesto en dos <script>.<!-- 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>
Código:
Y una ultima pregunta ¿porque no funcionan dos funciones en un mismo <script>?<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>
Un saludo.