+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Textarea - maximale Anzahl der Zeichen festlegen

  1. #1
    TP-Insider dieter99 ist auf einem guten Weg Avatar von dieter99
    Registriert seit
    Dec 2001
    Ort
    Oberfranken
    Beiträge
    719

    Textarea - maximale Anzahl der Zeichen festlegen

    Hallo,
    um in einen Textarea-Feld die maximale Anzahl der Zeichen festzulegen benutze ich folgendes Java-Script:
    PHP-Code:
    <script type="text/javascript">
    <!--
    function 
    checkLen()
    {
    maxLen=100;
    var 
    txt=document.forms[0].benutzereingabe.value;
    if(
    txt.length>maxLen)
        {
          
    alert("Bitte maximal "+maxLen+" Zeichen eingeben!");
          
    document.forms[0].benutzereingabe.value=txt.substring(0,maxLen);
          
    document.forms[0].zaehler.value=0;
        }
    else
        {
        
    document.forms[0].zaehler.value=maxLen-txt.length;
        }
    }

    //-->
    </script> 
    Nun ist es so das ich das Script für mehrere Textarea Felder anwenden will, wobei die maximale Anzahl der Zeichen für jedes Textarea Feld unterschiedlich sein soll. Kann mir jemand sagen wie ich in diesen Fall das Script anpassen muss?
    Leider fehlen mir in JS die erforderlichen Programmierkenntnisse.

    Vielen Dank

  2. #2
    TP-Moderator Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Avatar von Nightline
    Registriert seit
    Jan 2003
    Ort
    Wien
    Beiträge
    4.127
    Ganz einfach: Du übergibst der Funktion checkLen() einfach die gewünschte Zeichenanzahl als Parameter.

    Das angepasste Script:
    PHP-Code:
    <script type="text/javascript"
    <!-- 
    function 
    checkLen(anzahl

    maxLen=anzahl
    var 
    txt=document.forms[0].benutzereingabe.value
    if(
    txt.length>maxLen
        { 
          
    alert("Bitte maximal "+maxLen+" Zeichen eingeben!"); 
          
    document.forms[0].benutzereingabe.value=txt.substring(0,maxLen); 
          
    document.forms[0].zaehler.value=0
        } 
    else 
        { 
        
    document.forms[0].zaehler.value=maxLen-txt.length
        } 


    //--> 
    </script> 
    Der Aufruf:
    PHP-Code:
    <input type="submit" onclick="checkLen(150)"
    +lg Nightline
    -------------------------
    Fotoportfolio: http://www.coeser.de/showcase/
    Städte-Fotos aus aller Welt: http://www.coeser.de/impressions/
    DeviantArt-Account: http://nightline.deviantart.com

  3. #3
    321
    321 ist offline
    TP-Specialist 321 hilft, wo's geht 321 hilft, wo's geht 321 hilft, wo's geht Avatar von 321
    Registriert seit
    Nov 2004
    Ort
    Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
    Beiträge
    4.248
    Das funktioniert aber nur immer für das erste Formular und mit einer Texttarea namens benutzereingabe

    var txt=document.forms[0] .benutzereingabe.value;

    Also beim Scriptaufruf Name und Max-Länge übergeben.

    Auf value=txt.substring(0,maxLen); würde ich verzichten,
    damit der Benutzer den Text dort kürzen kann, wo er möchte.
    [321 Name="Joe"]
    wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
    [/321]


    use my HTML-Tester

    Motto'06: Mut zur deutschen Sprache!

  4. #4
    TP-Moderator Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Nightline ist ein richtiges Arbeitstier - DANKE Avatar von Nightline
    Registriert seit
    Jan 2003
    Ort
    Wien
    Beiträge
    4.127
    Zitat Zitat von 321
    Das funktioniert aber nur immer für das erste Formular und mit einer Texttarea namens benutzereingabe

    var txt=document.forms[0] .benutzereingabe.value;

    Also beim Scriptaufruf Name und Max-Länge übergeben.
    Woops, das hatte ich übersehen, danke für's Ausbessern!
    +lg Nightline
    -------------------------
    Fotoportfolio: http://www.coeser.de/showcase/
    Städte-Fotos aus aller Welt: http://www.coeser.de/impressions/
    DeviantArt-Account: http://nightline.deviantart.com

  5. #5
    TP-Insider dieter99 ist auf einem guten Weg Avatar von dieter99
    Registriert seit
    Dec 2001
    Ort
    Oberfranken
    Beiträge
    719
    Zitat Zitat von 321
    Das funktioniert aber nur immer für das erste Formular und mit einer Texttarea namens benutzereingabe

    var txt=document.forms[0] .benutzereingabe.value;

    Also beim Scriptaufruf Name und Max-Länge übergeben.

    Auf value=txt.substring(0,maxLen); würde ich verzichten,
    damit der Benutzer den Text dort kürzen kann, wo er möchte.
    Ich benutze mehrere Textarea Felder auf einer Seite, weshalb ich tatsächlich ein Java Script brauche das mehrere Textarea Felder unterstützt.
    Ich versuche jetzt mal den Code hinzubekommen:

    PHP-Code:
    <script type="text/javascript"
    <!-- 
    function 
    checkLen(anzahl,formular,formularname

    maxLen=anzahl
    var 
    txt=document.formular.formularname.value
    if(
    txt.length>maxLen
        { 
          
    alert("Bitte maximal "+maxLen+" Zeichen eingeben!"); 
          
    document.formular.formularname.value=txt.substring(0,maxLen); 
          
    document.formular.zaehler.value=0
        } 
    else 
        { 
        
    document.formular.zaehler.value=maxLen-txt.length
        } 


    //--> 
    </script> 
    Aufruf über
    PHP-Code:
    <input type="submit" onclick="checkLen(150,forms[0],feldname1)"
    Ist das so korrekt?

  6. #6
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    geht noch einfacher

    Code:
    <script type="text/javascript">  
    <!--  
    function checkLen(id,zaehler,anzahl)  
    {  
    maxLen=anzahl;  
    obj=document.getElementsById(id);  
    zaehler=document.getElementsById(zaehler);  
    
    if(obj.value.length>maxLen)  
        {  
          alert("Bitte maximal "+maxLen+" Zeichen eingeben!");  
          obj.value=txt.substring(0,maxLen);  
          zaehler.value=0;  
        }  
    else  
        {  
        zaehler.value=maxLen-txt.length;  
        }  
    }  
    
    //-->  
    </script>
    und dann Aufruf über

    <input type="text" id="zahler2" value="">
    <textarea id="ta2" onchange="checkLen('ta2','zaehler2',anzahl)"></textarea>


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  7. #7
    321
    321 ist offline
    TP-Specialist 321 hilft, wo's geht 321 hilft, wo's geht 321 hilft, wo's geht Avatar von 321
    Registriert seit
    Nov 2004
    Ort
    Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
    Beiträge
    4.248
    Hi Steffen
    in Fleiss und Sorgfalt gibts heut eine 3

    -> getElementsById
    -> obj.value=txt.substring(0,maxLen);
    -> zaehler.value=maxLen-txt.length;
    -> <input type="text" id="zahler2" value="">

    HTML-Code:
    <html><head
    ><script type="text/javascript"
    ><!--  
    function checkLen(id,zaehler,anzahl)  
    {  
    var maxLen=anzahl;  
    obj=document.getElementById(id); 
    zaehler=document.getElementById(zaehler); 
    if(obj.value.length>maxLen)  
        {  
          alert("Bitte maximal "+maxLen+" Zeichen eingeben!");  
          obj.value=obj.value.substring(0,maxLen);  
          zaehler.value=0;  
        }  
    else  
        {  
        zaehler.value=maxLen-obj.value.length;  
        }  
    }  
    
    //-->  
    </script>
    </head><body>  
    und dann Aufruf über
    <br><br
    ><input type="text" id="zaehler2" value=""><br
    ><textarea id="ta2" onchange="checkLen('ta2','zaehler2',20)"></textarea
    ></body></html>
    [321 Name="Joe"]
    wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
    [/321]


    use my HTML-Tester

    Motto'06: Mut zur deutschen Sprache!

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51