Ik heb volgende functie waar sommen in staan.:

<script>
function herbereken(){
document.getElementById('kg1extr1').value = parseInt(document.getElementById('Einddienst1extr1').value) - parseInt(document.getElementById('Begindienst1extr1').value);
document.getElementById('kg1extr2').value = parseInt(document.getElementById('Einddienst1extr2').value) - parseInt(document.getElementById('Begindienst1extr2').value);
document.getElementById('kg2extr1').value = parseInt(document.getElementById('Einddienst2extr1').value) - parseInt(document.getElementById('Begindienst2extr1').value);
document.getElementById('kg2extr2').value = parseInt(document.getElementById('Einddienst2extr2').value) - parseInt(document.getElementById('Begindienst2extr2').value);
document.getElementById('kg3extr1').value = parseFloat((document.getElementById('Procent3extr1').value) / 100) * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg3extr2').value = parseFloat(document.getElementById('Procent3extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg4extr1').value = parseFloat(document.getElementById('Procent4extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg4extr2').value = parseFloat(document.getElementById('Procent4extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg5extr1').value = parseFloat(document.getElementById('Procent5extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg5extr2').value = parseFloat(document.getElementById('Procent5extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg6extr1').value = parseFloat(document.getElementById('Procent6extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg6extr2').value = parseFloat(document.getElementById('Procent6extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg7extr1').value = parseFloat(document.getElementById('Procent7extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg7extr2').value = parseFloat(document.getElementById('Procent7extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg8extr1').value = parseFloat(document.getElementById('Procent8extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg8extr2').value = parseFloat(document.getElementById('Procent8extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg9extr1').value = parseFloat(document.getElementById('Procent9extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg9extr2').value = parseFloat(document.getElementById('Procent9extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg10extr1').value = parseFloat(document.getElementById('Procent10extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg10extr2').value = parseFloat(document.getElementById('Procent10extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
document.getElementById('kg11extr1').value = parseFloat(document.getElementById('Procent11extr1').value) / 100 * (parseFloat(document.getElementById('kg1extr1').value) + parseFloat(document.getElementById('kg2extr1').value));
document.getElementById('kg11extr2').value = parseFloat(document.getElementById('Procent11extr2').value) / 100 * (parseFloat(document.getElementById('kg1extr2').value) + parseFloat(document.getElementById('kg2extr2').value));
});
</script>


Met een knop wil ik dat hij alles na loopt wat in die functie zit, dus heb ik een knop als volgt.:

  <button type="button" id="but_screenshot" class="btn btn-danger" onclick='herbereken();' style="display:yes;">Herbereken pagina.</button>  


Maar druk ik op die knop doet hij de cellen niet opnieuw berekenen.
Hoe kan dit en hoe zou ik dit kunnen oplossen?
Misschien omdat er gewoon een fout in je javascript code zit die je zo in de console van je browser te zien kan krijgen: https://developers.google.com/web/tools/chrome-devtools/javascript/

(ik gok regel 25 ;-) )

@Adoptive: ja, nou heb je het verklapt ... (zoals hier wel vaker voorbij komt: goed programmeren begint met goed debuggen - en weten hoe je je tools gebruikt)
Een functie zonder parameters, en elke regel voert (nagenoeg) dezelfde berekening uit.

Tijd om e.e.a. te refactoren?

Ik blijf het toch zeggen, Don't Repeat Yourself ;).

Reageren