[JavaScript] 3x Zeichen Zählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] 3x Zeichen Zählen

    Moin,

    erst einmal ich habe keine Ahnung von JavaScript.
    Hab auch schon die SuFu benutzt aber nichts passendes
    gefunden.

    Das Skript prüft die Anzahl der Zeichen in einer TextArea
    und schreibt die noch verbleibenden Zeichen in ein Textfeld.
    Das klappt auch soweit gut, aber wie kann ich das skript so
    umscheiben, dass 3 Text Area's seperat gezählt werden?
    Also:

    [ TextArea1 ] [ Count1 ]
    [ TextArea2 ] [ Count2 ]
    [ TextArea3 ] [ Count3 ]

    Skript:
    PHP-Code:
    function CheckLen(Target)
    {
    var 
    maxlength "150"//die maximale Zeichenlänge

    StrLen=Target.value.length;

    if (
    StrLen==1&&Target.value.substring(0,1)==" "){
        
    Target.value="";
        
    StrLen=0;
    }
    if (
    StrLen>maxlength ){
        
    Target.value=Target.value.substring(0,maxlength);
        
    CharsLeft=0;
    }else{
        
    CharsLeft=maxlength-StrLen;
    }
    document.form.count.value=CharsLeft;

    Danke - 7th Freet

  • #2
    statt

    document.form.count.value=CharsLeft;

    nimmst du halt sowas wie

    document.form.count1.value=CharsLeft;

    und benennst die felder entsprechend um.

    gleiches gilt für die textareas usq.

    Kommentar


    • #3
      Ich glaube das problem ist nicht ganz klar geworden.
      Vielleicht habe ich es auch nicht richtig erklärt.

      Ich will nicht für jede Text Area eine funktion erstellen.
      Irgentwie kann man doch sicher abfragen welches feld gerade
      gezählt wurde und die Variable dann hier einsetzen.

      document.form.$feld2.value=CharsLeft;

      Wenn die Text Area z.B Beschreibung heißt wird der Wert
      bei Beschreibung2 verändert. (Beschreibung2 ist dann halt das countfeld)

      Das wäre mein Lösungsansatz nur weiß ich nicht wie man das in Java Skript
      umsetzt.

      Kommentar


      • #4
        dann ist das prinzip ähnlich.

        übergib der fkt einen parameter (ne nr, oder id) der du das textfeld/box zuordnest.

        Kommentar


        • #5
          Danke erstmal,

          ich habe den code so verändert

          onkeydown="CheckLen(this, 1)" //Aufruf
          function CheckLen(Target, id)

          Doch wie bekomme ich es hin dass er Id durch die Id ersetzt?
          document.edit.countid.value=CharsLeft;

          7th Freet

          Kommentar


          • #6
            Code:
            <script type="text/javascript">
            	function countChars(obj)
            	{
            		var pattern = /\d+/;
            		var id = pattern.exec(obj.id);
            		
            		var obj_charCount = document.getElementById('txtCharCount_' + id);
            		obj_charCount.value = obj.value.length;
            	}
            </script>
            
            <div>
            	<textarea id="txtArea_1" onkeyup="countChars(this)"></textarea>
            	<input type="text" id="txtCharCount_1" style="width:40px" readonly />
            </div>
            <div>
            	<textarea id="txtArea_2" onkeyup="countChars(this)"></textarea>
            	<input type="text" id="txtCharCount_2" style="width:40px" readonly />
            </div>
            <div>
            	<textarea id="txtArea_3" onkeyup="countChars(this)"></textarea>
            	<input type="text" id="txtCharCount_3" style="width:40px" readonly />
            </div>
            Ein einfaches durchnummerieren der Elemente bringts auch

            Kommentar


            • #7
              Wie binde ich dein Skript in meins ein?
              Ich bekomms einfach nicht hin.
              PHP-Code:
              function CheckLen(Target)
              {
              var 
              maxlength "150"//die maximale Zeichenlänge

              StrLen=Target.value.length;

              if (
              StrLen==1&&Target.value.substring(0,1)==" "){
                  
              Target.value="";
                  
              StrLen=0;
              }
              if (
              StrLen>maxlength ){
                  
              Target.value=Target.value.substring(0,maxlength);
                  
              CharsLeft=0;
              }else{
                  
              CharsLeft=maxlength-StrLen;
                  
                  var 
              pattern = /\d+/;
                  var 
              id pattern.exec(Target.id);
                      
                  var 
              obj_charCount document.getElementById('count_' id);
                  
              obj_charCount.value obj.value.CharsLeft;
              }


              Code:
              <textarea name="description" id="area_1" onkeydown="CheckLen(this)" 
              onkeyup="CheckLen(this)" ....></textarea>
              <input type="text" class="input2" id="count_1" ....>

              Kommentar


              • #8
                Original geschrieben von 7th Freet
                Doch wie bekomme ich es hin dass er Id durch die Id ersetzt?
                document.edit.countid.value=CharsLeft;
                Zum x-tausendsten Mal:
                http://de.selfhtml.org/javascript/ob...tm#allgemeines
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von 7th Freet
                  Wie binde ich dein Skript in meins ein?
                  Ich bekomms einfach nicht hin.
                  aus
                  Code:
                  obj_charCount.value = obj.value.CharsLeft;
                  wird
                  Code:
                  obj_charCount.value = Target.value.length;

                  Kommentar


                  • #10
                    Original geschrieben von reallife
                    aus
                    Code:
                    obj_charCount.value = obj.value.CharsLeft;
                    wird
                    Code:
                    obj_charCount.value = Target.value.length;
                    So spuckt er nur ein "Und" aus, aber hab mithilfe
                    von wahsaga's link hab ich das problem gelöst. Danke

                    PHP-Code:
                    var obj_charCount document.getElementById('count_' id);
                    obj_charCount.value CharsLeft
                    7th Freet

                    Kommentar

                    Lädt...
                    X