Hallo,
habe bereits diverse Beiträge über google gefunden und gelesen, aber alle sind an meinem Problem knapp vorbei. Einen sehr ähnlichen Beitrag habe ich hier im Archiv gefunden, aber auch dieser trifft es nicht ganz, daher frag ich hier nochmal.
Ich habe ein <form name="formname"> mit 3 <input /> Feldern und einer <textarea>. Die textarea enthält das Attribut "onkeyup". Gemäß eines Codeschnippsels soll man schreiben:
<textarea onkeyup="EineFunktion(this)">
und die Funktion ist:
function EineFunktion(this) {
var foo = this.form.Ausgabe.value
this.form.Ausgabe.value=foo+1;
}
Das ganze soll also mit jedem Tastendruck um 1 erhöht werden. Das z. B. Shift ebenfalls den onkeyup Event auslöst aber keinerlei Inhalt hinterlässt ist mir an dieser Stelle zunächst egal. Das wird an anderer Stelle behandelt. Mir geht es um das "this". In der Funktionsdeklaration "EineFunktion(this)" ist es, so habe ich bereits herausgefunden, sehr "unglücklich", weshalb ich es dort bereits durch foobar ersetzt habe. Nun erhalte ich nur noch den Fehler "this.form has no properties". Ersetze ich in der Funktion "this.form" durch "document.formname" klappt es wunderbar.
Meine Frage ist daher, an welcher Stelle ich this falsch/unvollständig und wie ich es stattdessen richtig verwende. Die Dokumentation zu "this" ist leider nicht sehr umfassend und bei google sucht man die Nadel im Heuhaufen, wenn man nicht genau weiß, wie man die Suchanfragen zu formulieren hat. :-(
Gruß,
Marcel