Ik gebruik de volgende functie om een html document te doorlopen op textarea's met een bepaalde classnaam:
Nu zou ik graag deze textarea's in een array (hier: target) opslaan, zodat ik ze in een later stadium kan benaderen. Als er bijvoorbeeld 3 tekstarea's met de class "verplicht" op de pagina staan, wil ik bijvoorbeeld de target op de laatste textarea kunnen zetten mbv target[2].focus();
Echter, mijn code hierboven werkt niet. Als ik target(0) of target(2) alert nadat init() doorlopen is, krijg ik een undefined. Is wat ik wil ueberhaupt wel mogelijk en zo ja, wat doe ik dan verkeerd?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| var target = {}; function init() { var theTextareas = document.getElementsByTagName('textarea'); var thisTextarea, i = 0; while (thisTextarea = theTextareas[i++]) { if (thisTextarea.className.classExists('verplicht')) { if (thisTextarea.id == '') { thisTextarea.id = thisTextarea.name; } target[i] = thisTextarea; transformTextarea(thisTextarea); } } } function transformTextarea(textarea) { // plaats een [b], [u] en [link] knop boven de tekstarea } |
Nu zou ik graag deze textarea's in een array (hier: target) opslaan, zodat ik ze in een later stadium kan benaderen. Als er bijvoorbeeld 3 tekstarea's met de class "verplicht" op de pagina staan, wil ik bijvoorbeeld de target op de laatste textarea kunnen zetten mbv target[2].focus();
Echter, mijn code hierboven werkt niet. Als ik target(0) of target(2) alert nadat init() doorlopen is, krijg ik een undefined. Is wat ik wil ueberhaupt wel mogelijk en zo ja, wat doe ik dan verkeerd?
[ Voor 6% gewijzigd door Reveller op 06-01-2007 15:15 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."