count_elements_of_form?
Borsti
- javascript
ich habe den namen einer Textarea, und will auf dieses feld zugreifen weiß aber nicht wo dieses Feld ist!also durchlaufe ich alle elemente eines feldes und vergleiche die namen.doch wie kann ich das bewerkstelligen!
mein lösungsansatz ist folgender:
function CheckFormNr() {
alert (eval("parent."+NameFrame+".document.forms.length"));
for (var i=0; i <= (eval("parent."+NameFrame+".document.forms.length")-1); i++)
for (var x=0; x <= <i>Anzahl der Elemente in diesen Form</i>; x++)
if (eval("parent."+NameFrame+".document.forms["+i+"].elements[0].name") == name) {
alert (i);
return i;
}
alert ('Fehler im Skript');
}
wie bekomme ich die anzahl heraus? gibt es da eine Möglichkeit? Den Namen den ich bekomme, der ist richtig! ... dieser wird mir beim OnFocus() dieses Elementes gegeben! .. und den habe ich auch!
HILFE
MFG Borsti
Hallo Borsti,
ich habe den namen einer Textarea, und will auf dieses feld zugreifen weiß aber nicht wo dieses Feld ist!
Ich verstehe ehrlich gesagt nicht Dein Problem. Wenn Du den Namen der Textarea hast, kann man doch ganz einfach darauf zugreifen.
Im übrigen:
in dieser Zeile vergleichst Du immer nur das erste Element eines Formulars mit dem Namen, den Du gegeben hast.
if (eval("parent."+NameFrame+".document.forms["+i+"].elements[0].name") == name)
Was ist denn, wenn die gesuchte Textarea das zweite, dritte oder n-te Element in dem Formular ist?
Viele Grüße...
Alex :)
Den Namen den ich bekomme, der ist richtig! ... dieser wird mir beim OnFocus() dieses Elementes gegeben! .. und den habe ich auch!
Na, dann übergib doch anstatt des Namens das Element selbst:
Vorher:
<textarea onFocus="eineFunction('nameDerTextArea');">
Nachher:
<textarea onFocus="eineFunction(this);">
Jetzt kannst Du in der Funtion drauf zugreifen:
function eineFunktion(textarea) {
alert(textare.value);
}