Startseite » UI / UX » So erstellen Sie eine einfache Rufnummernauswahl

    So erstellen Sie eine einfache Rufnummernauswahl

    Telefonnummern, sind neben Namen und E-Mails die am häufigsten verwendeten Kontaktinformationen in Online-Formularen. Telefonnummernfelder sind in der Regel so gestaltet, dass Benutzer die Nummern über ihre Tastatur eingeben müssen. Diese Methode führt häufig zu ungenauen Dateneingaben.

    Zu Benutzereingabefehler reduzieren Um die Benutzererfahrung Ihrer Website zu verbessern, können Sie eine erstellen GUI Auf diese Weise können Benutzer ihre Telefonnummer schnell eingeben, ähnlich wie bei der Datumsauswahl.

    In diesem Tutorial erfahren Sie, wie Hinzufügen einer einfachen Rufnummernauswahl zu einem Eingabefeld. Wir verwenden HTML5, CSS3 und JavaScript, um zu der GUI zu gelangen, die Sie in der folgenden Demo sehen und testen können. Wir setzen auch reguläre Ausdrücke ein, um sicherzustellen, dass Benutzer wirklich eine gültige Telefonnummer eingeben.

    1. Erstellen Sie das Telefonnummernfeld

    Zuerst, Erstellen Sie ein Eingabefeld mit einem Wählsymbol auf der rechten Seite, das den Wählbildschirm beim Klicken öffnet. Das Wählsymbol sieht aus wie 9 schwarze Kästchen, die 3 x 3 angeordnet sind. Sie müssen das, was Sie auf einem normalen Telefon sehen, mögen.

    Ich benutze die tel Eingabetyp für die korrekte HTML5-Semantik, Sie können jedoch auch die Text Eingabetyp, wenn Sie möchten.

     
    HTML-Basis der Telefonnummernauswahl
    2. Erstellen Sie den Wählbildschirm

    Das Wahlbildschirm ist ein gitter von zahlen von 0 bis 9 plus einige Sonderzeichen. Es kann mit gemacht werden entweder ein HTML

    oder JavaScript.

    Hier zeige ich Ihnen, wie Sie die Dial-Screen-Tabelle in JavaScript erstellen. Sie können die Tabelle natürlich auch direkt im HTML-Quellcode hinzufügen, wenn Sie dies vorziehen.

    Erstellen Sie zuerst ein neues 'Tabelle' Element in der DOM mit der createElement () Methode. Gib auch das 'wählen' Kennung.

     / * Wählbildschirm erstellen * / var dial = document.createElement ('table'); dial.id = 'dial'; 

    Füge hinzu ein zum Schleife die vier Zeilen der Wähltabelle mit einzufügen. Dann für jede Reihe, führe einen anderen aus zum Schleife um drei Zellen pro Zeile hinzuzufügen. Markiere jede Zelle mit dem 'dialDigit' Klasse.

     für (var rowNum = 0; rowNum < 4; rowNum++)  var row = dial.insertRow(rowNum); for (var colNum = 0; colNum < 3; colNum++)  var cell = row.insertCell(colNum); cell.className = 'dialDigit'; cell.textContent = ((colNum + 1) + (rowNum * 3)).toString();   

    Die Zwei zum Schleifen oben berechnen die Ziffern, die in die Zellen der Wähltabelle gehen - die Werte der cell.textContent Eigenschaft - auf folgende Weise:

     (colNum + 1) + (rowNum * 3) / * erste Zeile * / (0 + 1) + (0 * 3) = 1 (1 + 1) + (0 * 3) = 2 (2 + 1) + ( 0 * 3) = 3 / * zweite Reihe * / (0 + 1) + (1 * 3) = 4 (1 + 1) + (1 * 3) = 5 (2 + 1) + (1 * 3) = 6 / * etc. * / 

    Die letzte Reihe ist anders, da sie besteht zwei Sonderzeichen, - und + die in Telefonnummernformaten verwendet werden, um regionale Codes und die Ziffer zu identifizieren 0.

    Fügen Sie die folgende Zeile hinzu, um die letzte Zeile auf dem Wählbildschirm zu erstellen ob Aussage zum Inneren zum Schleife.

     für (var rowNum = 0; rowNum < 4; rowNum++)  var row = dial.insertRow(rowNum); for (var colNum = 0; colNum < 3; colNum++)  /* if last row */ if (rowNum === 3)  cell = row.insertCell(colNum); cell.textContent = '-'; cell.className = 'dialDigit'; cell = row.insertCell(colNum); cell.textContent = '0'; cell.className = 'dialDigit'; cell = row.insertCell(colNum); cell.textContent = '+'; cell.className = 'dialDigit'; break;  cell = row.insertCell(colNum); cell.className = 'dialDigit'; cell.textContent = ((colNum + 1) + (rowNum * 3)).toString();   

    Das Der Dial-Bildschirm ist nun vollständig, füge es dem hinzu #dialWrapper HTML-Container, den Sie in Schritt 1 mit erstellt haben zwei DOM-Methoden:

    1. das querySelector () Methode zu Wähle den Container aus
    2. das appendChild () Methode zu Hängen Sie den Wahlbildschirm an - gehalten in der wählen variabel - zum Container
     document.querySelector ('# dialWrapper'). appendChild (dial); 
    Dial Screen Table ohne Styling
    3. Gestalten Sie den Wählbildschirm

    Um es attraktiver zu machen, gestalten Sie den Dial-Bildschirm mit CSS.

    Du musst nicht unbedingt bei meinem Styling bleiben, aber vergiss es nicht hinzufügen Benutzerauswahl: keine; Eigentum an der #wählen Container so dass, während der Benutzer auf die Ziffern klickt, der Text wird nicht vom Cursor ausgewählt.

     #Dial Breite: 200px; Höhe: 200px; Grenzzusammenbruch: Zusammenbruch; Text ausrichten: Mitte; Position: relativ; -ms-user-select: keine; -webkit-user-select: keine; -moz-user-select: keine; Benutzerauswahl: keine; Farbe: # 000; Box-Schatten: 0 0 6px # 999;  .dialDigit border: 1px solid #fff; Cursor: Zeiger; Hintergrundfarbe: rgba (255,228,142, .7);  
    Dial Screen Table mit Styling
    4. Zeigen Sie den Dial-Bildschirm bei Klick an

    Fügen Sie zuerst das hinzu Sichtbarkeit: versteckt; Stilregel zu #wählen in der obigen CSS zu verstecken Sie den Wahlbildschirm standardmäßig. Es wird nur angezeigt, wenn der Benutzer auf das Wählsymbol klickt.

    Fügen Sie dem Dial-Symbol dann einen Click-Ereignishandler hinzu mit JavaScript zu die Sichtbarkeit umschalten des Wahlbildschirms.

    Dazu müssen Sie das zuvor genannte verwenden querySelector () und das addEventListener () Methoden. Letzteres hängt ein Klickereignis an zum Wählsymbol und ruft den Benutzer an ToggleDial () Funktion.

    Das ToggleDial () Funktion ändert die Sichtbarkeit des Wahlbildschirms von ausgeblendet nach sichtbar und zurück.

     document.querySelector ('# dialIcon'). addEventListener ('click', toggleDial); function toggleDial () dial.style.visibility = dial.style.visibility === 'ausgeblendet' || dial.style.visibility === "? 'visible': 'hidden'; 
    5. Fügen Sie die Funktionalität hinzu

    Fügen Sie eine benutzerdefinierte Funktion hinzu gibt Ziffern in das Telefonnummernfeld ein auf das Klicken der Zellen des Wahlbildschirms.

    Das dialNumber () Funktion fügt die Ziffern einzeln an zum Textinhalt Eigenschaft des Eingabefeldes, das mit markiert ist #Telefon-Nr Kennung.

     phoneNo = document.querySelector ('# phoneNo'); function dialNumber () phoneNo.value + = this.textContent;  dialDigits = document.querySelectorAll ('. dialDigit'); für (var i = 0; i < dialDigits.length; i++)  dialDigits[i].addEventListener('click', dialNumber);  

    Jetzt hast du eine Bildschirm mit Arbeitsanzeige um das Telefonnummernfeld einzugeben.

    Um mit dem CSS Schritt zu halten, ändern Sie die Hintergrundfarbe der Ziffern in ihrem :schweben und :aktiv (wenn der Benutzer darauf klickt) gibt an.

     .dialDigit: hover Hintergrundfarbe: rgb (255,228,142);  .dialDigit: aktiv Hintergrundfarbe: # FF6478;  
    6. Fügen Sie die Überprüfung des regulären Ausdrucks hinzu

    Füge hinzu ein Einfache Regex-Validierung um die Telefonnummer zu bestätigen, während der Benutzer gibt die Ziffern in das Eingabefeld ein. Gemäß den von mir verwendeten Validierungsregeln kann die Telefonnummer nur mit einer Ziffer oder mit der Ziffer beginnen + Zeichen, und akzeptieren Sie die - Zeichen danach.

    Sie können die Visualisierung meines regulären Ausdrucks in der unten gezeigten Bildschirmdarstellung sehen, die mit der Debuggex-App erstellt wurde.

    Regex-Visualisierung von debuggex.com

    Sie können die Telefonnummer auch gemäß dem Telefonnummernformat Ihres Landes oder Ihrer Region überprüfen.

    Erstellen Sie ein neues reguläres Ausdrucksobjekt und speichern Sie es im Muster Variable. Erstellen Sie auch einen benutzerdefinierten bestätigen() Funktion, die die eingegebene Telefonnummer überprüft entspricht dem regulären Ausdruck, und wenn es ist Mindestens 8 Zeichen lang.

    Wenn die Eingabe nicht gültig ist, wird die bestätigen() Funktion muss zu Feedback geben an den Benutzer.

    Ich bin Einen roten Rand hinzufügen in das Eingabefeld, wenn die Eingabe ungültig ist, Sie können den Benutzer jedoch auch auf andere Weise informieren, beispielsweise über Fehlermeldungen.

     pattern = new RegExp ("^ (\\ + \\ d 1,2)? (\\ d + \\ - * \\ d +) * $"); Funktion validate (txt) // mindestens 8 Zeichen für eine gültige Telefonnummer if (! pattern.test (txt) || txt.length < 8)  phoneNo.style.border = '2px solid red'; return false;  else phoneNo.style.border = 'initial'; return true;  
    7. Führen Sie die Validierung durch

    Das bestätigen() Funktionen muss aufgerufen werden um die Validierung durchzuführen. Nennen Sie es aus dem dialNumber () Funktion, die Sie in Schritt 5 erstellt haben, um den Wert von zu überprüfen Telefon-Nr Variable.

    Beachten Sie, dass ich auch eine hinzugefügt habe zusätzliche Validierung für maximale Zeichen (darf nicht mehr als 15 sein) mit einem ob Aussage.

     function dialNumber () var val = phoneNo.value + this.textContent; // maximal zulässige Zeichen, 15 if (val.length> 15) return false; validieren (val); phoneNo.value = val;  

    Ihre Telefonnummer-Picker ist jetzt fertig, schauen Sie sich die finale Demo unten an.

    © Savtec
    Nützliche Informationen und Tipps zur Webentwicklung. Programmierung, Webdesign, CSS, HTML, JAVASCRIPT. Konfigurieren und installieren Sie WINDOWS neu. Erstellung von Websites und Anwendungen von Grund auf neu.