Ich habe das folgende Feld in meinem Formular, wo ein Benutzer eine 10-stellige Nummer eingeben sollte.Erlaube dem Benutzer, mehrere Formularfelder kontinuierlich zu füllen
stelle ich die Zahl in drei separate Felder (3-3-4):
Phone: [_ _ _]-[_ _ _]-[_ _ _ _]
Code:
<div id="phone-element" class="form-element">
<input type="tel" size="3" name="phone1" id="phone1" maxlength="3" tabindex="3" pattern="[0-9]{3}" title="3 digit phone number. Eg.808" required=""> <span class="wc_sep">-</span>
<input type="tel" size="3" name="phone2" id="phone2" maxlength="3" tabindex="4" pattern="[0-9]{3}" title="3 digit phone number. Eg.789" required=""> <span class="wc_sep">-</span>
<input type="tel" size="4" name="phone3" id="phone3" tabindex="5" pattern="[0-9]{4}" maxlength="4" title="4 digit phone number. Eg.1374" required="">
</div>
Aber zur Zeit zwischen jedem Feld, müssen die Benutzer ihre Maus platzieren im nächsten Feld, um weiterhin die Nummer einzugeben.
Wie kann ich es kontinuierlich machen?
Das Beste, was Sie hier zu tun ist, kann _one_ Eingabefeld verwenden; Benutzer wissen, wie diese funktionieren. Irgendwelche ausgefallenen JS-Sachen, die den Fokus von einem Feld zum nächsten springen lassen, verringern die Benutzerfreundlichkeit. Moderne Browser erlauben das Vorfüllen von Formularen mit Werten, die der Benutzer in seinen Einstellungen eingegeben hat; wenn du nach meiner Telefonnummer fragen würdest, aber dann ein solches Konstrukt benutzt hättest, das dies zum Scheitern bringen würde - das wäre ein UX-Fehler auch. Oder vielleicht habe ich die Telefonnummer copy & paste bereit - wieder müsste man mit JS durch viele Ringe springen, um mit solchen unnötig auseinander gerissenen Eingabefeldern richtig zu arbeiten. – CBroe
Ich denke, ich sollte darüber nachdenken. Ich denke nur, dass es auf diese Weise vielleicht "ordentlicher" ist und wird die Benutzer ermutigen, es zu füllen. Wie funktioniert das automatische Ausfüllen des Browsers? Wenn Sie meinen aktuellen Code testen, funktioniert AutoFill problemlos, obwohl alle drei Felder geteilt sind. Funktioniert es, weil die ID 'Telefon-Element' ist? Weil ich in der css/js keine Einstellung für diese ID habe, weiß ich nicht, warum der ProTogrammer es so nannte, es sei denn, es hat mit Auto-Fill zu tun. – rockyraw
Es gibt "normale" Autofill, basierend auf Daten, die zuvor in Formularfeldern mit demselben Namen eingegeben wurden; Anschließend erfolgt die automatische Füllung basierend auf den Browsereinstellungen (in denen Benutzer ihre persönlichen Daten wie Name, E-Mail, Telefon usw. eingeben können), wobei der Browser anhand der Feldnamen versucht, geeignete Felder für die Daten zu finden. (Google hat einige Informationen darüber, wie man dafür Felder benennt, https://developers.google.com/web/updates/2015/06/checkout-faster-with-autofill?hl=de) – CBroe