Rasnarock: Textarea maxlength

Beitrag lesen

Hallo Leute,

ich bastel jetzt seit 2 Stunden an einem wahrscheinlich altbekannten Problem herum und hab auch schon eigentlich eine Lösung, nur die ist irgendwie nicht "praktisch".

Also ich habe ein Framework mit VIELEN VIELEN Seiten, auf denen VIELE VIELE Textareas sind. Im Framework wird einmal ein "Head" eingebunden, wo alle CSSbefehle und JS-Scripts stehen.

Ich hab bereits herausgefunden, daß maxlength bei textarea nicht funktioniert und man stattdessen ein JS auf onkeypress setzen müßte. Ein Beispiel dafür hab ich auch gefunden und es würde PERFEKT passen:

function CheckTA()  
{  
  
var max=20, textinhalt;  
  
textinhalt=document.text.feld.value;  
  
if (textinhalt.length >= max)  
{  
document.text.feld.value=textinhalt.substring(0,max);  
document.text.feld.blur();  
}  
}

Wie ich aber gesehen hab, funktioniert das nur bei Textareas, die "feld" heißen. d.h. ich üßte jetzt 100000 kleine JS schreiben damit ich jedes Feld abfragen kann - schwachsinnig.
Jetzt hab ichs schon mit document.getElementById(id) probiert und übergebe dort die IDs mit - funktioniert aber auch nicht.

Meine Felder sehen zur späteren Verarbeitung so aus:
<textarea cols="81" rows="3" onkeypress="CheckAT()" name="feldwerte[0][Inhalt]">Blah Blah</textarea>

Ich hatte schon ein id="Inhalt" dazugefügt (was mir eigentlich nicht so zusagt, da ich CSS mit id einbinde und ich in dem Moment etwas "unflexibler" wäre) und auch die function entsprechend drauf aufgebaut (soweit ichs verstanden hatte):

    function CheckAT(id)  
    {  
      var max=255 , textinhalt;  
      textinhalt=document.getElementById(id).feld.value;  
      alert (textinhalt.length);  
      if (textinhalt.length >= max)  
      {  
        document.getElementById(id).feld.value=textinhalt.substring(0,max);  
        document.getElementById(id).feld.blur();  
      }  
    }

Aber irgendwie geht das auch nicht - ich hätte eigentlich gerne, daß in der Funktion ermittelt wird, in welchem Objekt man sich gerade befindet und dort dann überprüft wird, ob eine bestimmte Anzahl Zeichen erreicht wurde und man dann keine weiteren Eingaben mehr tätigen kann.

Danke für eure Hilfe.