in html5, dem Element erlaubt dem Benutzer, numerische Werte einzugeben. Wenn die Eingabe jedoch ungültig ist (z. B. enthält nicht numerische Zeichen), gibt seine Werteigenschaft eine leere Zeichenfolge zurück.
das Problem:
Wie können wir die RAW-Eingabe von einem
Während die Spezifikationen das Abrufen ungültiger Werte verhindern, gibt es keine Möglichkeit zu bestimmen, ob die Eingabe leer ist oder ungültigen Text enthält. Daher ist ein anderer Ansatz erforderlich.
alternativer Ansatz:
anstatt sich auf die Werteigenschaft zu verlassen, können wir einen Ereignishörer auf dem Eingabeelement verwenden, um die Eingabe des Benutzers in Echtzeit zu erfassen. document.getElementById ('edquantity'); NumberInput.AdDeVentListener ('Eingabe', (Ereignis) => { const rawValue = event.target.Value; if (isnan (rawValue)) { // Eingabe ist ungültiger Text; Färben Sie es rot numnInput.classList.add ('error'); } anders { // Eingabe ist eine gültige Nummer; Färben Sie es grün numberInput.classList.remove ('error'); } });
Dieses Skript hält einen Ereignishörer an das Element
Hinweis:
Dieser Ansatz ermöglicht es Ihnen, die rohen Eingabe, einschließlich ungültiger Text, zu erhalten, aber die Bestätigung und Handhabung von ungültigen Eingaben liegend bei Ihnen.const numberInput = document.getElementById('edQuantity'); numberInput.addEventListener('input', (event) => { const rawValue = event.target.value; if (isNaN(rawValue)) { // Input is invalid text; color it red numberInput.classList.add('error'); } else { // Input is a valid number; color it green numberInput.classList.remove('error'); } });
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3