Hoi,
- die "unsaubere"
Die man eigentlich gar nicht unsauber verwenden muss. Jedes Element ist doppelt verzeichnet:
einmal mit Namen, einmal mit Nummer. Ergo....
Du benutzt die eval() Funktion
tust du genau das nicht :-) Sondern du benutzt den Assoziativen Array:
function beispielfunktion(elementnummer)
{
...
eval("bla = document.formularname.feld_"+elementnummer+".value");
...
}
function beispielfunktion(elementnummer)
{
...
var bla = document.formularname["feld_"+elementnummer].value;
...
}
Generell laesst sich
window.document.open()
auch als
window['document'].open()
darstellen. Deshalb finde ich die Nutzung von eval() in solchen Faellen auch total hirnrissig.
Jeder Array in JavaScript laesst sich halt auf die zwei Arten darstellen. Statt
document.formularname.feldname.value
waere auch moeglich
document['formularname']['feldname']['value']
oder, um es auf die spitze zu treiben:
window['document']['forms']['formularname']['elements']['feldname']['value']
Gruesse,
C'eval ist evil!'K