optel formulier
kan iemand mij hiermee helpen...
hoe bedoel je?
naam prijs aantal kosten
artikel 1: €1,30 ---2--- €2,60
artikel 2: €1,00 ---1--- €1,00
artikel 3: €1,00 ---4--- €4,00
artikel 4: €1,00 ---2--- €2,00
totaal: €9,60
dus als je invult hoeveel je van een artikel wilt dat het dan automatisch optelt hoeduur dat is en aan het einde het totale bedrag uitrekend
Als je het met PHP doet, kan dat pas nadat het formulier verzonden is, en dan is het eenvoudig een kwestie van alle kosten-velden bij elkaar optellen.
Je moet dus eerst beslissen welke methode je voorkeur heeft.
dan lijkt javascript mij een beter idee enig idee hoe dat gaat?
Ik zal een voorbeeldpagina maken.
bedankt:)
deze pagina staat een voorbeeld. Geef even een seintje als er dingen onduidelijk zijn. Veel code spreekt voor zich, maar ik weet niet hoe ver je bent met JavaScript ;-)
Op (just wondering ;) )
echt vet precies wat ik zocht
hartelijk bedankt
hij berekend het totale bedrag wel alleen berekend hij niet de prijs van dat artikel . dus als je invoert dat je 3 van 1,30 wil dan staat er nog steeds 2,60.
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.
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.
Gewijzigd op 07/10/2005 14:25:00 door Jan Koehoorn
Is er een reden om dit zo op te lossen?
Groet, lissy
lissy:
Volgens mij kan dit toch ook gewoon in php?
Is er een reden om dit zo op te lossen?
Groet, lissy
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.
Voor bijna iedere vraag maak je een voorbeeldscript :-)
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.
@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:
Dat ligt er natuurlijk helemaal aan hoe je het doet.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.
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.
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
Deze oplossing werkt gebruiksvriendelijker, want zodra iemand één getalletje verandert, krijgt hij het resultaat gepresenteerd.