ik heb een formulier waarbij ik een script nodig heb die de veldjes automatisch optelt.
kan iemand mij hiermee helpen...
@Jelmer:
ja, of misschien beter parseFloat?

@samet:
ga ik straks nog even naar kijken. Ik heb eerst een andere klus. Check die pagina vanavond nog maar eens.
Het bloed kruipt toch waar het niet gaan kan!

aanpassingen aan het script:

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
lissy schreef op 07.10.2005 19:34
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.
Jij bent echt te goed voor deze wereld Jan...
Voor bijna iedere vraag maak je een voorbeeldscript :-)
Hoi Willem-Jan,

dankjewel!

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.
@Willem-Jan: Ik ben het helemaal met je eens....

@Jan: Ja, het kan soms heel donker zijn.... Ik ben het ook roerend met jou eens.

PS Saaie post eigenlijk van mij.;-)
@ SanThe: cker niet saai!
Jan Koehoorn schreef op 07.10.2005 19:39
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.
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).

Maar het is maar net hoe je het fijnste vindt...

Elwin
Klopt, dat kan ook. Maar dan moet iemand toch het hele formulier invullen en een submit doen om het resultaat te kunnen bekijken.

Deze oplossing werkt gebruiksvriendelijker, want zodra iemand één getalletje verandert, krijgt hij het resultaat gepresenteerd.

Reageren