maxlength

- javascript
Guten Morgen, maxlength bei der Eingabe funktioniert auf dem Desktop aber nicht auf dem Samsung Handy. Kennt jemand das Problem? Wenn ja, was ist zu tun? J. Fröhlich
Edit Rolf B: URL korrigiert
Hallo
maxlength bei der Eingabe funktioniert auf dem Desktop aber nicht auf dem Samsung Handy.
Das Attribut maxlength
ist seit Urzeiten Bestandteil von HTML. Es würde mich wundern, wenn das irgendwo nicht funktioniert. Allerdings können wir mit „auf dem Samsung Handy“ wohl nix anfangen. Es gibt mittlerweile hunderte Modelle in unterschiedlichen Software-Versionsständen mit unterschiedlicher Softwareausstattung.
Tschö, Auge
Guten Morgen, es wäre schön, wenn das der eine oder andere mal auf seinem Handy ausprobieren würde, vielleicht liegt es ja an meinem Samsung. J. Fröhlich
Hallo Joachim,
du erwartest jetzt sicher nicht, dass ich deinen Quellcode auf meinen Webserver oder als Beispiel ins Wiki lade. Vor allem nicht, wenn Styles fehlen:
<link rel="stylesheet" type="text/css" href="../html/fusion.css">
<link rel="stylesheet" type="text/css" href="../html/style.css">
<link rel="stylesheet" type="text/css" href="../html/site.css">
Unter welcher URL kann ich die Seite mit meinem Handy abrufen? Github liefert ja nur den Sourcecode. Hast Du Github Pages dafür definiert?
Wenn ich dein HTML als Datei ausführe, funktioniert gar nichts. Das Eingabefeld ist blockiert. Wie soll das gehen?
Rolf
Guten Morgen Rolf, in der Adresse fehlte ein Slash. Sorry. Jetzt müsste es funktionieren. Joachim
Hallo Joachim Fröhlich,
ein Slash ist bei Dir aber eine recht umfangreiche Sache 😉
https://github.com/joafroehlich/MaTest
vs
https://joafroehlich.github.io/MaTest/
Aber ich habe ja jetzt auf anderem Weg eine Antwort für Dich gefunden.
Rolf
Lieber Rolf,
danke für Deine Hinweise. Ja, die überschüssigen Zeichen werden entfernt, ist allerdings nicht das, was ich mir wünsche. Suche weiterhin nach einer Lösung. Joachim
Hallo Joachim,
dann wirst Du wohl mit JavaScript im input-Event die Länge manüll überwachen müssen.
Beachte: Man muss nicht für jedes HTML Element das Script individuell schreiben. Viele Events "blubbern" im DOM nach oben und können auf einem gemeinsamen Elternelement behandelt werden.
Setze mal dieses Script ans Ende des Body:
<script>
document.body.addEventListener("input", function(inputEvent) {
const eingabeFeld = inputEvent.target;
if (eingabeFeld.maxLength > 0 && eingabeFeld.value.length > eingabeFeld.maxLength) {
eingabeFeld.value = eingabeFeld.value.substr(0, eingabeFeld.maxLength);
}
});
</script>
Rolf
Rolf, danke erstmal für Deine Mühe. Probiere den Code aus und versuche ihn nachzuvollziehen. Joachim
Rolf, funktioniert wie gewünscht. Um den Code gut zu verstehen, brauche ich noch etwas Zeit. Joachim
Hallo Joachim,
wenn Selfhtml ja wüsste, was Selfhtml alles weiß... zu maxlength haben wir ein Beispiel hier im Wiki
And Guess What - maxlength funktioniert auf dem Desktop, aber nicht auf meinem Handy. Weder mit Chrome, noch mit Samsung Internet (was auch ein Chromium ist, soweit ich weiß).
Es liegt also nicht an deinem Handy.
Sondern an einem 10 Jahre alten Chrome-für-Android Bug!. Die überschüssigen Zeichen sollten aber entfernt werden, wenn das Feld den Fokus verliert.
Rolf
Moin,
wenn Selfhtml ja wüsste, was Selfhtml alles weiß... zu maxlength haben wir ein Beispiel hier im Wiki
And Guess What - maxlength funktioniert auf dem Desktop, aber nicht auf meinem Handy. Weder mit Chrome, noch mit Samsung Internet (was auch ein Chromium ist, soweit ich weiß).
Es liegt also nicht an deinem Handy.
Sondern an einem 10 Jahre alten Chrome-für-Android Bug!. Die überschüssigen Zeichen sollten aber entfernt werden, wenn das Feld den Fokus verliert.
noch ein Grund Firefox auch auf dem Mobiltelefon zu nutzen 😉 Der hält sich an die Vorgaben. (Und natürlich ein Grund für serverseitige Validierung.)
Viele Grüße
Robert
Lieber Robert,
noch ein Grund Firefox auch auf dem Mobiltelefon zu nutzen 😉 Der hält sich an die Vorgaben. (Und natürlich ein Grund für serverseitige Validierung.)
den habe ich jetzt ein paar Jahre auf meinem Android verwendet und mag das Handling sehr. Als neuer GrapheneOS-Nutzer muss ich mich jetzt mit Vanadium (einem Chromium) begnügen, weil das Team den Firefox als grundsätzlich besser angreifbar einstuft, was wohl zum Einen mit der Plugin-Struktur zusammenhängt, die sie dem Vanadium wohl herausoperiert haben, zum Anderen aber auch mit den sehr permissiven Voreinstellungen bei den Privatsphäre-Einstellungen.
Liebe Grüße
Felix Riesterer