[javascript] Bestelnummer maken

Pagina: 1
Acties:

  • The Third Man
  • Registratie: September 2001
  • Laatst online: 23:09

The Third Man

The Third Jellyfish

Topicstarter
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:
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!

  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
Behalve dat je nogal een rare manier gebruikt om je input velden aan te spreken. ( je doorzoekt ze allemaal... je kunt ook meteen de goede pakken hoor :) )

Je doet niets meer met BN. aan het einde van je bestelN is var BN wel mooi een bepaalde waarde geworden. Maar je plaatst het daarna niet terug in het input veld.

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


  • The Third Man
  • Registratie: September 2001
  • Laatst online: 23:09

The Third Man

The Third Jellyfish

Topicstarter
Bluestorm schreef op 06 April 2003 @ 22:12:
Behalve dat je nogal een rare manier gebruikt om je input velden aan te spreken. ( je doorzoekt ze allemaal... je kunt ook meteen de goede pakken hoor :) )

Je doet niets meer met BN. aan het einde van je bestelN is var BN wel mooi een bepaalde waarde geworden. Maar je plaatst het daarna niet terug in het input veld.
Ah, daar zit 'm de kneep, dankjewel! Ik heb er het volgende bij gezet:
code:
1
2
3
if(el[i].name=='BN') {
  el[i].value = BN;
  }

En nu doet hij het! Stom, stom. Ik ben niet zo'n kei in Javascript (stukken beter in php) dus vandaar dat ik ook zo'n rare functie heb gemaakt, maar het werkt nu in ieder geval.