Formules werken niet zoals ze horen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pascal Schuffelers

Pascal Schuffelers

15/06/2020 18:03:00
Quote Anchor link
Ik heb volgende functie waar sommen in staan.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<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.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
  <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?
 
PHP hulp

PHP hulp

26/09/2020 00:29:31
 
Adoptive Solution

Adoptive Solution

15/06/2020 18:30:19
Quote Anchor link
Maak van regel 25 dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
}
 
Rob Doemaarwat

Rob Doemaarwat

15/06/2020 18:31:37
Quote Anchor link
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)
Gewijzigd op 15/06/2020 18:32:56 door Rob Doemaarwat
 
Pascal Schuffelers

Pascal Schuffelers

15/06/2020 20:42:46
Quote Anchor link
Damn dat ik die gemist heb :S
 
Thomas van den Heuvel

Thomas van den Heuvel

15/06/2020 21:17:25
Quote Anchor link
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 ;).
Gewijzigd op 15/06/2020 21:39:03 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.