Buchstabenzaehler

DelphiDell

Erfahrenes Mitglied
Hallo wiso funktioniert dies nicht :confused:

HTML:
<script language="javascript">
function press() 
{
   var element = document.getElementById('zaehler');
   element.value++;
}
</script>

//Edit, andere frage, oder gibt es extra ein funktion in JS um zeichen zu zählen, oder wie kann ich machen dass wenn ich Back drücke minus gerechnet wird '?
 
Zuletzt bearbeitet:
Hallo,
das geht so:
Code:
<Script language=javascript>
var beispielstring="Hallo"
alert(beispielstring.length)
</script>
 
Hab das zufällig auch mal gemacht hier der Code:

Javascript:
var anzahl = 50;
	function zaehleZeichen(t){
		var zeichenAnzahl = 0;
		var taste = String.fromCharCode(t.which);
		var hilf = escape(taste);
		
		//Prüfen der Anzahl des Strings im Feld
		zeichenkette = document.forms['shoutbox'].message.value;
		zeichenkette += hilf;	
		
		if (zeichenkette.length == 0) {
			anzahl = 50;
		} else {
			zeichenAnzahl = zeichenkette.length;
		
			//prüfen welche Taste gedrückt wurde
			if(hilf == '%08' & anzahl <= 50){
				if(anzahl <=49){
				anzahl++; //bei delete Anzahl der Zeichen wieder auffüllen
				}
			}else if(hilf == '%1B' | hilf == '%00' | hilf == '%0D' | hilf == '%10' | hilf == '%11' | hilf == '%12' | hilf == '%10') {
				//wenn alt oder so etwas gedrückt wurde gar nichts machen
			}else if(anzahl > 0){
				anzahl = 50 - zeichenAnzahl; //wenn ein Buchstabe oder Leerzeichen gedrückt wurde Zeichen abziehen
			}
			
			//Wenn Anzahl 0 Modales Fehler Fenster öffnen
			if (anzahl <= 0){
				alert("es sind nur 50 Zeichen erlaubt tut mir leid");
			}
			if (anzahl < 0){
				document.forms['shoutbox'].message.value = "";
				anzahl = 50;
			}	
		}
		document.forms['shoutbox'].zeichenanzahl.value = anzahl;
		
	}
	
	document.captureEvents(Event.KEYPRESS);
	
	document.onkeypress = zaehleZeichen;

Gruß Steff
 
Zuletzt bearbeitet von einem Moderator:
Naja, eigentlich ist der Code von meinem Vorredner etwas umständlich. Das ganze ist eigentlich in einem Zweizeiler erledigt:
HTML:
<script type="text/javascript">
function limitChars(obj,max,leftId) {
    if (obj.value.length > max) obj.value = obj.value.substring(0,max);
    document.getElementById(leftId).firstChild.data = max - obj.value.length;
}
</script>

Zeichen übrig:<span id="charsLeft">5</span><br />
<textarea onkeyup="limitChars(this,5,'charsLeft')"></textarea>
Das wäre jetzt ein Beispiel für 5 Zeichen, damit man's schneller sieht. Für deine 100 Zeichen muss man einfach nur die 5er durch 100er ersetzten
 
Zuletzt bearbeitet:
Zurück