


Über die Grundlagen hinaus: Numerische Eingaben wie ein Profi mit „' handhaben
Was ist
Gemäß MDN Docs Definition: Elemente vom Typ Zahl werden verwendet, um dem Benutzer die Eingabe einer Zahl zu ermöglichen. Sie verfügen über eine integrierte Validierung, um nicht numerische Eingaben abzulehnen.
Im Grunde handelt es sich also um eine Funktion zur Verbesserung der Benutzererfahrung auf unseren beschissenen Websites und Web-Apps. Obwohl es sich um eine nette Funktion zur Vereinfachung numerischer Eingaben handelt, weist sie einige Verhaltensweisen auf, die auf den ersten Blick vielleicht nicht offensichtlich sind, die uns als Webentwickler jedoch bewusst sein sollten.
Diese Verhaltensweisen hängen zusammen mit:
- Virtuelle Tastatur
- Wissenschaftliche Notationen
Virtuelle Tastatur
Eine virtuelle Tastatur ist eine Tastatur, die auf Ihrem Bildschirm angezeigt wird, normalerweise in Touch-Eingabegeräten wie Mobiltelefonen, Tablets/iPads und einigen unterstützenden Technologien.
<input id="numeric-input" type="number">
Nur die Verwendung von type="number" scheint auf den ersten Blick in Ordnung zu sein, bei der Verwendung einer virtuellen Tastatur besteht jedoch ein Problem. Möglicherweise wird anstelle einer numerischen Tastatur eine Volltastentastatur geöffnet, was die Benutzererfahrung und Eingabegenauigkeit beeinträchtigen kann.
`" />
Lösungseingabemodus
Auch wenn das Problem mit der virtuellen Tastatur bei neueren Betriebssystem- und Browserversionen möglicherweise nicht auftritt, ist es dennoch eine gute Idee, das Attribut „inputmode“ zu verwenden, da es einen Hinweis auf die Art der Daten gibt, die der Benutzer möglicherweise beim Bearbeiten des Elements oder seiner Elemente eingibt Inhalt.
Dadurch können Browser für alle Versionen und Geräte eine entsprechende virtuelle Tastatur anzeigen und so die allgemeine Benutzererfahrung (UX) der Anwendung verbessern.
inputmode kann viele Werte haben, aber für unseren Anwendungsfall mit numerischen Eingaben sollten wir einen dieser beiden Werte verwenden:
1.numerisch
<input id="numeric-input" type="number" inputmode="numeric">
Die Eingabetypnummer akzeptiert jeden rationalen Wert. Wenn Sie keine Bruchwerte, sondern nur ganze Zahlen akzeptieren, sollte in solchen Szenarien die Verwendung eines numerischen Werts bevorzugt werden.
2.dezimal
<input id="numeric-input" type="number" inputmode="decimal">
Wenn Sie Bruchzahlen akzeptieren, verwenden Sie einen Dezimalwert, da dadurch eine virtuelle Tastatur angezeigt wird, die die Ziffern und das Dezimaltrennzeichen für das Gebietsschema des Benutzers enthält.
Verwenden Sie in Ihrer Eingabe immer einen Dezimalwert, es sei denn, Sie akzeptieren keine Bruchwerte.
`" />
Wissenschaftliche Notationen
Viele von uns haben vielleicht vergessen oder wissen nicht, dass e oder E gültige numerische Werte in wissenschaftlichen Notationen sind.
`" />
Ja, e oder E bedeutet in wissenschaftlichen Notationen "Exponent von Zehn" und wird zur Darstellung sehr großer oder kleiner Werte verwendet. z.B.
1e5 = 100000 or 1e-5 = 0.00001
Der HTML-Eingabetyp „Nummer“ wurde im Hinblick auf Flexibilität entwickelt und unterstützt diese wissenschaftliche Notation, sodass die Eingabe von Exponenten (z. B. 1e5) möglich ist. Während dies an sich kein Problem darstellt und in manchen Kontexten nützlich sein kann, kann es problematisch werden, wenn die Eingabe nur aus einfachen Zahlen bestehen soll.
Es gibt zwei Möglichkeiten, die Eingabe nur auf Zahlen zu beschränken und die wissenschaftlichen Notationen nicht zuzulassen.
- Regex verwenden? Muster.
- Mit Javascript (meine bevorzugte Methode).
Verhindern von Standardverhalten mithilfe von Javascript
In den meisten Szenarien möchte ich nicht, dass die Benutzer die Notationen „e“ oder „E“ eingeben, da diese nicht benötigt werden und das Erlauben dieser Notationen zu unerwarteten Problemen führen kann.
Es gibt viele Möglichkeiten, dies zu erreichen, aber meine Lieblingsmethode besteht darin, zu verhindern, dass die Taste „e“ oder „E“ registriert wird. Wir können dies mit dem Keydown-Ereignis und verhindernDefault.
erreichen
element.addEventListener("keydown", (e) => { if (["e", "E"].includes(e.key)) { // you can also add "+" and "-" if you want to prevent them from being registered. e.preventDefault(); } });
Diese Methode gefällt mir aus drei Gründen besonders gut:
- Es gibt jedem, der unseren Code später liest, eine klare Botschaft, dass wir die Tasten e oder E nicht registrieren möchten.
- Es ermöglicht auch eine bessere UX, da wir den Schlüssel selbst nicht registrieren, anstatt die Werte zu ändern.
- Der Typ des keydown-Ereignisses ist KeyboardEvent, das uns direkten Zugriff auf die Schlüsselwerte ermöglicht und den Gesamt-DX der Lösung verbessert.
Nicht alle numerischen Eingaben müssen vom Eingabetyp „Nummer“ sein
Manchmal können wir instinktiv nach einer Eingabetypnummer greifen, wenn wir eine Eingabeanforderung sehen, die numerische Eingaben akzeptiert, aber manchmal ist die Eingabetypnummer nicht die richtige Lösung für solche Szenarien.
Einige Beispiele für solche Szenarien sind:
Kreditkarte/Debitkarte: Wenn wir ein Eingabefeld für Kredit-/Debitkarte haben, ist es besser, anstelle des Eingabetyps „Zahl“ den Eingabetyp „Text“ mit dem Eingabemodus „Numerisch“ und „Numerisch“ zu verwenden Validierung mit Ihrer bevorzugten Methode, da eine Kreditkarte führende Nullen haben kann und einige Browser dies möglicherweise nicht zulassen. Außerdem möchten wir möglicherweise einige kartenspezifische Validierungen hinzufügen oder einen Abstand zwischen einer Gruppe von vier Zahlen zulassen (wie er auf der Karte aufgedruckt ist). ).
Postleitzahl: Während die meisten Länder numerische Postleitzahlen haben, können einige Länder wie Kanada alphanumerische Codes haben. Es ist wichtig, Lösungen entsprechend Ihrem Bedarf zu verwenden, es könnte sich um den Eingabetyp „Nummer“ handeln oder geben Sie Text ein.
Mobilfunknummern: Sie sollten immer den Eingabetyp input="tel" mit einem für Ihren Anwendungsfall geeigneten Regex-Muster verwenden.
Abschluss
Da modernes HTML einige wirklich nette Dienstprogramme bereitstellt, kann die Implementierung einiger Dinge wie die Eingabetypnummer sehr trivial erscheinen. Als Entwickler sollten wir jedoch immer auf diese Dienstprogramme achten und darauf, wie wir sie nutzen können, um noch bessere Benutzererlebnisse zu schaffen.
Wenn Ihnen dieser Artikel gefallen hat, hinterlassen Sie bitte eine Reaktion. Wenn Ihnen etwas nicht gefallen hat, können Sie Ihr Feedback in den Kommentaren hinterlassen.
Ich mag es, mit Menschen über Technologie und die damit verbundenen Ereignisse in Kontakt zu treten und mit ihnen zu reden. Sie können sich mit mir auf Twitter/X und LinkedIn verbinden.
Sie können mir auch auf Dev.to folgen, um eine Benachrichtigung zu erhalten, wenn ich einen neuen Artikel veröffentliche.
Das obige ist der detaillierte Inhalt vonÜber die Grundlagen hinaus: Numerische Eingaben wie ein Profi mit „' handhaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver Mac
Visuelle Webentwicklungstools