Verschieben eines Fokus, wenn das input-text-Feld erreicht eine max Länge
Ich habe eine Kreditkartennummer form. Die Zahl gliedert sich in vier Teile, wie auf einer echten Kreditkarte.
Möchte ich hinzufügen, dass eine JavaScript-Geschmack, an der form, wo, wenn Sie eine Benutzer-Typen-vier Buchstaben in einem Feld, der Fokus geht automatisch auf den nächsten tag. Aber nicht in den letzten tag. Indem wir dies tun, wird ein Benutzer nicht haben, um geben Sie die "tab" - Taste bewegen Sie sich im Fokus.
Es okay ist, fügen Sie einige zusätzliche Klassen -, id-oder name in den tags.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>MoveFocus</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(function() {
//some code goes here.
});
</script>
</head>
<body>
<form action="post.php" method="post" accept-charset="utf-8">
<input type="text" value="" id="first" size="4" maxlength="4"/> -
<input type="text" value="" id="second" size="4" maxlength="4"/> -
<input type="text" value="" id="third" size="4" maxlength="4"/> -
<input type="text" value="" id="fourth" size="4" maxlength="4"/>
<p><input type="submit" value="Send Credit Card"></p>
</form>
</body>
</html>
InformationsquelleAutor der Frage TK. | 2009-12-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich nicht verwendet dieses tool vor, aber es tut, was Sie wollen. Sie könnten einfach look at it ' s Quelle, einige Ideen zu bekommen:
Dieses Plugin ist auf GitHub
Für Ihre situation, Sie fügen diesen code ein:
InformationsquelleAutor der Antwort Tauren
Als andere haben aufgefordert, dies nicht tun. Benutzer sind nicht in der Lage sein, zu antizipieren, dass Sie auto-Registerkarte, und dies treibt Sie Nüsse. Haben Sie sich Gedanken über Benutzer, die Kopie und fügen Sie Ihre Kredit-Karte? Was ist der Vorteil der Verwendung von vier-Felder überhaupt?
Auch nicht alle Kreditkarten teilen sich Ihre zahlen in vier Sätzen von vier. American Express teilt Sie in drei Gruppen von zahlen, zum Beispiel. Dynamisch hinzufügen und entfernen von Textfeldern ist der ärger in diesem Fall.
Stattdessen verwenden Sie Ihre Javascript automatisch einfügen der Räumewo Sie hingehören, die Förderung der cursor nicht im Mittelpunkt. Die erste Ziffer der Nummer zeigt die Art der Kreditkarte, (5 Mastercard, 4 Visa, 3 American Express...), so dass Sie dies Lesen können, um zu entscheiden, wo, um die Räume. Schrubben Sie die Leerzeichen aus der Zeichenfolge, wenn Sie es veröffentlichen. Dieser Ansatz spart Ihnen und Ihren Nutzern eine Menge Schmerz.
InformationsquelleAutor der Antwort Michael Zuschlag
Als @Sander vorgeschlagen, die auf einfache Weise eine auto-Registerkarte:
Update von @morespace54
oninput
ist ein html5 Veranstaltung wird unterstützt auf IE9+so können Siekeyup
statt.InformationsquelleAutor der Antwort Ouadie
Ich empfehle sehr, die Maskierte Eingabe jQuery-plugin. http://digitalbush.com/projects/masked-input-plugin/
Ihre Nutzung wird wie folgt Aussehen:
Diese Weise haben Sie die copy-paste-Unterstützung.
InformationsquelleAutor der Antwort Doguhan Uluca
Eine sehr einfache Lösung könnte so gehen:
InformationsquelleAutor der Antwort Roland Bouman
Ich habe es noch nicht getestet, aber ich denke, dass dies funktionieren wird. Es wird wohl auch den Fokus auf den Knopf, wenn das 4. Feld ist abgeschlossen.
InformationsquelleAutor der Antwort Sander Rijken
Diese nicht über vier Felder, aber es funktioniert überprüfen Kreditkarten (Integrität überprüfen, nicht Luhn-Algorithmus!). Ich muss Ihnen sagen,wie ärgerlich es ist die Verwendung mehrerer Felder für einen Benutzer und auto-tabbing. Ich empfehle Ihnen, verwenden Sie nur ein Feld.
Vom jquery-website:
/
InformationsquelleAutor der Antwort