Ik heb een hele rits met materialen die je kan bestellen, de velden zien er als volgt uit:
Het nummer tussen de blok haken is het product id.
Nu heb ik een functie in elkaar gezet welke de aantallen optelt in een hidden input en kijkt of dit groter als 0 (null) is. Is dit zo dan heb je iig iets besteld en kan je het form verzenden:
Wat ik nog niet helemaal werkend krijg is het volgende:
Als je bij een product een aantal opgeeft dan is het totaal keurig 1 of hoeveel je ook op heeft. Zodra je een tweede product erbij zet met aantallen, maar deze weer weghaalt is ook de totaal box in een keer leeg....
Hoe het zou moeten is:
Aantal in veld 1 is bv 10
Totaal is dan 10
Aantal in veld 2 is bv 4
Totaal is dan 14
Ik haal veld 2 weg van de order
Totaal is weer 10
etc
als ik nu dus veld 2 bv leeg maak dan is het totaal veld ook in een keer leeg en dus ook de waarde van veld 1...
Hoe doe je dit?
code:
1
2
3
| <input onkeyup="checkField(this)" name="productaantallen[1]" size="5" /> <input onkeyup="checkField(this)" name="productaantallen[2]" size="5" /> <input onkeyup="checkField(this)" name="productaantallen[3]" size="5" /> |
Het nummer tussen de blok haken is het product id.
Nu heb ik een functie in elkaar gezet welke de aantallen optelt in een hidden input en kijkt of dit groter als 0 (null) is. Is dit zo dan heb je iig iets besteld en kan je het form verzenden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function checkField(obj) {
if (isNaN(obj.value)) {
alert("Nog geen product aantallen");
obj.value = "";
} else {
if (obj.form.total.value == "") {
obj.form.total.value = 0;
}
obj.form.total.value = obj.value == "" ? "" : parseInt(obj.form.total.value) + parseInt(obj.value);
}
// de totaal box:
<input name="total" readonly size="5" /> |
Wat ik nog niet helemaal werkend krijg is het volgende:
Als je bij een product een aantal opgeeft dan is het totaal keurig 1 of hoeveel je ook op heeft. Zodra je een tweede product erbij zet met aantallen, maar deze weer weghaalt is ook de totaal box in een keer leeg....
Hoe het zou moeten is:
Aantal in veld 1 is bv 10
Totaal is dan 10
Aantal in veld 2 is bv 4
Totaal is dan 14
Ik haal veld 2 weg van de order
Totaal is weer 10
etc
als ik nu dus veld 2 bv leeg maak dan is het totaal veld ook in een keer leeg en dus ook de waarde van veld 1...
Hoe doe je dit?
[ Voor 3% gewijzigd door ViNyL op 22-09-2006 15:32 ]