1) subtotalen worden nu correct berekend
2) parseInt () en parseFloat (), in plaats van eval (), zoals Jelmer voorstelde
3) getallen rechts laten uitlijnen dmv toepassing multiple classes in CSS
4) tabvolgorde van velden "aantal" aangepast, zodat iemand gewoon met de tab-toets door de aantallen heen kan gaan
Edit: Een mogelijke uitbreiding zou zijn, dat het script zelf kijkt hoeveel rijen er in de tabel staan. Nu is het een statisch script dat uitgaat van vier rijen.
Volgens mij kan dit toch ook gewoon in php?
Is er een reden om dit zo op te lossen?
Groet, lissy
Hoi Lissy,
jazeker is er een reden om het zo te doen, en een heel goeie! Met JavaScript kun je de velden aanpassen zonder dat de pagina opnieuw hoeft in te laden. Alles gebeurt op de computer van de bezoeker van de site, vandaar de term client-side.
Als je het in PHP zou doen, zou het zo gaan:
1) de bezoeker haalt de pagina op
2) de bezoeker verandert iets in een van de velden en de informatie wordt naar de server gestuurd
3) PHP verwerkt de pagina en rekent alle waarden uit
4) de pagina wordt teruggestuurd naar de client en het scherm wordt opnieuw geladen
punt 2 t/m 4 worden elke keer doorlopen als de bezoeker een veldje verandert. Dus als hij bij elk van de vier artikelen het aantal verandert, moet de pagina 4 keer opnieuw ingeladen worden.
Dat is dus nogal wat traffic en met JavaScript is dat niet nodig.
Ik vind programmeren te gek en dingen uitleggen vind ik ook heel leuk. En ik kan me de tijd nog goed herinneren dat ik zelf heb leren programmeren en toen was ik ook altijd blij als iemand de moeite nam om het uit te leggen.
1) de bezoeker haalt de pagina op
2) de bezoeker verandert iets in een van de velden en de informatie wordt naar de server gestuurd
3) PHP verwerkt de pagina en rekent alle waarden uit
4) de pagina wordt teruggestuurd naar de client en het scherm wordt opnieuw geladen
punt 2 t/m 4 worden elke keer doorlopen als de bezoeker een veldje verandert. Dus als hij bij elk van de vier artikelen het aantal verandert, moet de pagina 4 keer opnieuw ingeladen worden.
Dat is dus nogal wat traffic en met JavaScript is dat niet nodig.
Dat ligt er natuurlijk helemaal aan hoe je het doet.
Je kan het ook zonder al die formulier velden doen... Geef gewoon in tekst een omschrijving, in een formulierveld het aantal, en weer in tekst een door PHP uitgerekend totaal.
Vervolgens geef je de gebruiker de mogelijkheid om alle velden te veranderen (de aantallen dus) en zet je onderop een knop 'Ververs'.
Dan ga je naar een andere pagina waar je de vars (makkelijkste zijn dan sessie vars) opnieuw neergooit en dan laat je het hele boeltje weer zien.
(in de sessie vars zit dan alleen het productnummer en het aantal ofzo, de rest kan je altijd uit de DB blijven halen).