[JS] Value input veld met array-like naam wijzigen

Pagina: 1
Acties:

  • Knakker
  • Registratie: April 2000
  • Laatst online: 31-07 17:39
Ik heb in mijn formulier meerdere input velden, met namen als aantal[0] tot aantal[20] en subtotaal[0] tot subtotaal[20]. Dit omdat ik dan de velden makkelijk in kan lezen in PHP.

Nu wil ik dat wanneer de gebruiker veld 'aantal' verandert van een object, dat dan dan subtotaal mee verandert (namelijk subtotaal[i].value = aantal[i].value*stuksprijs[i].value). Echter Javascript pakt dat niet zo makkelijk.

Wanneer ik dit gebruik:
code:
1
2
3
function BerekenSubtotaal (nr) {
  document.formnaam.subtotaal[nr].value = document.formnaam.aantal[nr].value*document.formnaam.stuksprijs[nr].value; 
  }

Dan pakt Javascript dat niet. Neem ik maar 1 veld aantal, stuksprijs en subtotaal (dus zonder die [ ]) dan doet ie het wel.

Het is voor mij geen optie om de naam van die inputvelden te wijzigen naar iets zonder [ ] (omdat ik dan moet gaan hanessen in m'n PHP code). Ik kon in de search hierover vreemd genoeg niks vinden :?

Kan iemand mij ff snel helpen?

Geef mij maar een Warsteiner.


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:13

Pelle

🚴‍♂️

Said it once, maar ik wil het nog wel een keertje doen: voorkom dit soort gebruik van het aanroepen van form-elementen.

Zo gaat het altijd goed:
code:
1
document.forms["formnaam"].elements["subtotaal[" + nr + "]"].value;

  • Knakker
  • Registratie: April 2000
  • Laatst online: 31-07 17:39
Harstikke bedankt, en ik zal het onthouden ;)

Geef mij maar een Warsteiner.