Sempervivum
Erfahrenes Mitglied
Wenn man in die Textarea etwas eingibt, wird wohl zwangsläufig bei jedem Tastendruck ein keydown oder keyup erkannt. Du solltest innerhalb der Funktion die Anzahl auf 0 setzen, dann stimmt das Ergebnis trotzdem.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
var symbols_C = "";
var symbols_L;
function checkLetters(){
var text = window.document.getElementsByTagName("textarea")[0].value;
var symboles = "!§$%&/()=?*<;:-<,.-#+|~}][{@€";
for (var i = 0; i < symboles.length; i++) {
if (text.indexOf(symboles[i]) != -1) {
symbols_C += symboles[i];
}
var splited = text.split(symboles[i]);
}
//symbols_L = splited;
window.document.getElementById("allLetters").innerHTML = text.length;
window.document.getElementById("allSymboles").innerHTML = splited.length-1;
<input type="text" onkeyup="checkLetters(this);">
<span id="allLetters"></span>
<span id="allSymboles"></span>
<script>
function checkLetters(ele) {
symbolsContained = "";
var text = ele.value;
var symboles = "!§$%&/()=?*<;:-<,.-#+|~}][{@\u20AC";
var symbolsContained = "", found = false;
for (var j = 0; j < text.length; j++) {
for (var i = 0; i < symboles.length; i++) {
if (text[j] == symboles[i]) {
symbolsContained += symboles[i];
}
}
}
document.getElementById("allLetters").innerHTML = text.length;
document.getElementById("allSymboles").innerHTML =symbolsContained.length;
}