Ik wil bij een bestelformulier realtime een bestelnummer genereren in een appart tekstveld. Het bestaat uit de waardes van de postcode met daarachter het huisnummer geplakt. Ik heb omdat het realtime moest, JavaScript gebruikt en deze functie inelkaar geflanst:
De formuliervelden zien er zo uit:
Mijn redenering:
1. Als het veld 'HN' heet (huisnummer dus) wordt de variabele BN (bestelnummer) de waarde van dat veld.
2. Als het veld 'PC' (postcode) heet, wordt de variabele BN de postcode + de huidige waarde van BN.
Het lijkt allemaal zo simpel maar het werkt totaal niet (waarde van het veld BN verandert niet), dus wat zit er fout? Alvast bedankt!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <script>
function bestelN(){
var BN = 0;
el = document.forms[0].elements;
for(i=0;i<el.length;i++) {
if(el[i].name=='HN') {
BN = el[i].value;
}
if(el[i].name=='PC') {
BN = el[i].value + BN;
}
}
}
</script> |
De formuliervelden zien er zo uit:
code:
1
2
3
| <input type="text" name="HN" size="6" onChange="bestelN()"> <input type="text" name="PC" size="20" onChange="bestelN()"> <input type="text" name="BN" size="20" readonly> |
Mijn redenering:
1. Als het veld 'HN' heet (huisnummer dus) wordt de variabele BN (bestelnummer) de waarde van dat veld.
2. Als het veld 'PC' (postcode) heet, wordt de variabele BN de postcode + de huidige waarde van BN.
Het lijkt allemaal zo simpel maar het werkt totaal niet (waarde van het veld BN verandert niet), dus wat zit er fout? Alvast bedankt!