Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeichenzähler funktioniert nicht richtig...

Einklappen

Neue Werbung 2019

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

  • Zeichenzähler funktioniert nicht richtig...

    Hey Leute

    ich habe probs mit meinem JS-Zeichenzähler. Er dient dazu, die Anzahl noch verfügbarer Zeichen bei Input und Textarea Elementen auszugeben.

    Aus irgend einem Grund zählt er im MSIE in einem Input-Feld wo maximal 55 Zeichen rein dürfen nicht korrekt.

    Wenn ich in das Feld klicke und eine Taste drücke, steht dort sofort das ich nur noch 47 Zeichen frei habe. Alle weiteren eingegebenen Zeichen lösen keine Zählung mehr aus.

    In einem Textarea darunter läuft der Code aber wiederum einwandfrei.

    Und im Firefox läuft der Zeichenzähler gar nicht. JS ist aktiviert.

    Code:
    <script language="JavaScript">
    function MaxString(maximum, outputid, inputid)
    {
        var value;
        value = maximum - document.getElementById(inputid).value.length;
        if (value < 0) {
            document.getElementById(inputid).value = document.getElementById(inputid).value.substring(0,maximum);
            value = maximum - document.getElementById(inputid).value.length;
        }
    	if(value == maximum){
    		document.getElementById(outputid).innerText = "maximal";
    	} else {
    		document.getElementById(outputid).innerText = "noch " + value + " von";
    	}
        
    }
    </script>


    Hier das dazugehörige Input feld:

    Code:
    <input type="text" id="titel" name="titel" value="<?=$titel?>" 
    style="width:100%" maxlength="55" onChange="MaxString(55,'tstrlen','titel');" onKeyUp="MaxString(55,'tstrlen','titel');" onKeyDown="MaxString(55,'tstrlen','titel');">
    
    <div style="font-size:11px;">
    <span id="tstrlen" style="font-size:11px;">maximal</span>
    55 Zeichen</div>

    gleich darunter kommt eine Textarea, und da geht's einwandfrei (aber nur im MSIE)

    Code:
    <textarea id="rez" name="rez" style="height:58px; 
    width:100%" onChange="MaxString(10000,'rstrlen','rez');" 
    onKeyUp="MaxString(10000,'rstrlen','rez');" 
    onKeyDown="MaxString(10000,'rstrlen','rez');">
    <?=$rez?>
    </textarea>
    <div style="font-size:11px;"><span id="rstrlen" style="font-size:11px;">maximal</span>10.000 Zeichen</div>
    in den value feldern befinden sich keine whitespaces oder ähnliches, auch keine cr's und sonst was in der art. ich blicke das prob nicht. es kollidieren auch keine id's! ...merkwürdig. und wieso passiert im firefox gar nichts?

  • #2
    Kuck dir die Meldungen im Javascript Browser vom FF an ..

    Da kommt dann sicherlich ne Fehlermeldung

    Extras --> JavaScript konsole (Strg+Umschalt+J)

    Kommentar


    • #3
      die JS-Konsole gibt mir dazu keine fehler aus. Sie meckert nur wegen scrollbar-base-color im .css

      blöde sache. finde den fehler nicht...

      Kommentar


      • #4
        habe die feldbezeichnung von "titel" mal auf "blub" geändert, und siehe da, im MSIE läuft's jetzt. weis aber immer noch nicht woran das lag, weil ich "titel" sonst nirgens im quellcode habe. merkwürdig das ist.

        Aber wieso ignoriert's der FF komplett? Ist der bekloppt? Oder ist mein Code FF-Feindlich? Versteht der FF eventuell innerText nicht??

        Kommentar


        • #5
          Versteht der FF eventuell innerText nicht??
          richtig.
          Code:
          if(value == maximum){
          	document.getElementById(outputid).innerText = "MAXIMUM";
          } else {
          	alert(document.getElementById(outputid).innerText);
          	document.getElementById(outputid).innerText = "noch " + value + " von";
          }
          Das gibt beim ersten Durchlauf undefined aus - gibt's nicht.

          Kommentar


          • #6
            und die alternative wäre dann was?

            Kommentar


            • #7
              Zitat von Meister_im_Kleister
              und die alternative wäre dann was?
              http://de.selfhtml.org/javascript/ob...htm#inner_html

              Kommentar


              • #8
                karl-150, du bist der beste

                Kommentar


                • #9
                  funktioniert jetzt einwandfrei! genial

                  Kommentar

                  Lädt...
                  X