Zeichenanzahl in textarea aktualisieren

  • HiHo,
    ich meld mich mal wieder mit einer Frage:

    HTML
    <textarea name="sowieso" maxlength="750" onkeyup="x.value = 750-(parseInt(this.length))"></textarea>
    <p>Noch <output id="x">750</output> Zeichen</p>


    Warum klappt der obige Code nicht?
    Problem: Wenn man in die area was schreibt wird zwar der output geändert, aber nur zu NaN. Ich habe dann this.lenght per alert ausgeben lassen, ist "undefinded". Aber wieso? Bzw, was muss anstatt dem this da hin, damit JS merkt, dass die area gemeint ist?

  • mit this ist in deinen fall: document.getElementsByName('sowieso'')[0]


    length ist eine zahl also ist parseint nicht nötig,
    ich würde dann die 750 nicht hardcoden sondern auch noch aus den maxlength atribut auslesen...

  • Ich hab den fehler grad selbst gefunden. Man braucht

    JavaScript
    this.value.length

    dann klappts. So schauts dann aus:

    HTML
    <textarea name="sowieso" id="soweiso" maxlength="750"  onkeyup="x.value = this.getAttribute('maxlength') - this.value.length"></textarea>
    <p>Noch <output id="x">750</output> Zeichen</p>


    Nur, ich bin grad zu blöd, um dem output am Anfang die maxlength zu übermitteln.

  • selbst herausgefunden?
    ich habe dir doch den super tip gegeben^^


    aber wow warum verwende ich überhaupt document.getElementById(''x) wenn man auch gleich x machen kann das wusst ich noch garnicht.


    wenn du iE unterstützen willst must du x.innerHTML nehmen

  • selbst herausgefunden?
    ich habe dir doch den super tip gegeben^^

    Ja, hab ich dann auch gesehen, aber erst nachdem ich beim rumbasteln zufällig auf die (richtig banale) Antwort gekommen bin :whistling:


    aber wow warum verwende ich überhaupt document.getElementById(''x) wenn man auch gleich x machen kann das wusst ich noch garnicht.

    Cool, ich kann auch anderen Leuten was zeigen und nicht nur selbst fragen. Und dann auch noch beim Thema JS, das ich eigl hasse wie sonst selten was! Ein Traum wird wahr :D


    wenn du iE unterstützen willst must du x.innerHTML nehmen

    Pff, wer IE nimmt hat sich doch sowieso damit abgefunden, dass alles falsch angezeigt wird 8)
    Aber na gut, werd ich noch ändern :rolleyes:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!