dynamisch html-elemente dynamisch ansprechen

TaJ

Grünschnabel
Mein script bekommt den dynamisch erzeugten Namen eines Texareas-Feldes übergeben, d.h. ich habe z.B. 10 Textareas, wobei dann das erste den Namen text1, das zweite den Namen text2 usw. erhält. Ich habe versucht, das jeweilige Textare-Feld mithilfe einer Variable in document.all.variable.innerText anzusprechen (siehe unten), das funktionierte jedoch nicht:

<script language="JavaScript">
function textaendern(zaehler)
{
var areaname='text' + zaehler;
var altertext = document.all.areaname.innerText;
var neuertext= altertext + '<br>';
document.all.areaname.innerText=neuertext;
}
</script>

Was mache ich falsch, oder kann man es so nicht realisieren? Vielen Dank für eure Hilfe
Johannes
 
var areaname='text' + zaehler;
das wird so nicht funktionieren
du könntest die felder in ein array schreiben...
bsp: areaname=new array("text1","text2")
statt areaname dann mit areaname[zaehler] ansprechen(mit 0 anfangen)

außerdem kenne ich innerText nicht...
arbeite doch lieber mit value

wenn du allerdings das <br> nur hinten anhängen möchtest gibt es noch eine viel einfachere Methode :)

document.all.form.areaname.value+="<br>"

quadratisch,praktisch,gut,->TRT

wenigstens einmal schneller als Geist :-)

edit:btw,es hätte auch geklappt wenn die Zeile so ausgesehen hätte...
document.all[areaname].innerText;
nix mit eval() ;)
 
Zuletzt bearbeitet:
<script language="JavaScript">
No good idea...
Besser:
PHP:
<script type="text/javascript">
An folgender Stelle würde ich außerdem ein eval() einfügen:
PHP:
var areaname = eval("text" + zaehler);
Woran siehst du eigentlich, dass es nicht klappt, wie rufst du die Funktion auf und wie generierst du dynamisch die Textfelder?

Geist
 

Neue Beiträge

Zurück