Ich implementiere eine 2-Faktor-Authentifizierung auf meiner Website Login und ich würde eine Seite wie die 2-Faktor-Authentifizierung Seite von Apple mit 6 Texteingabe, eine für jeden Code erstellen. Diese Eingaben erlauben es, vorwärts und vorwärts zu gehen, wenn ich sie fülle oder leere. Ich habe versucht zu tun, aber ich hatte eine Menge Probleme.Durch Eingabetext gehen, wenn sie gefüllt oder leer sind
- Wenn alle Eingaben gefüllt sind, und ich bin in der letzten und versuche, mit "Backspace" zu löschen, entfernen Sie die vorherige und nicht die letzte.
- Wenn ich den Cursor auf einen gefüllten Eingang bewege, geht er automatisch zum nächsten.
$(".digit-input").keyup(function() {
if (this.value.length == this.maxLength) {
$(this).next('.digit-input').focus();
}
verificaSePieno();
});
$(".digit-input").keydown(function(e) {
if ((e.which == 8 || e.which == 46) && $(this).text() == "") {
$(this).prev('.digit-input').focus();
}
verificaSePieno();
});
function verificaSePieno() {
if ($("#digit1").text() != "" && $("#digit2").text() != "" && $("#digit3").text() != "" && $("#digit4").text() != "" && $("#digit5").text() != "" && $("#digit6").text() != "") {
$("#submitBtn").removeClass("disabled");
} else {
$("#submitBtn").addClass("disabled");
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="digits">
<input id="digit1" name="digit1" class="digit-input" data-indx="0" data-next-id="digit2" value="" size="1" maxlength="1" autocomplete="off" type="text">
<input id="digit2" name="digit2" data-prev-id="digit1" class="digit-input" data-indx="1" data-next-id="digit3" value="" size="1" maxlength="1" autocomplete="off" type="text">
<input id="digit3" name="digit3" data-prev-id="digit2" class="digit-input" data-indx="2" data-next-id="digit4" value="" size="1" maxlength="1" autocomplete="off" type="text">
<input id="digit4" name="digit4" data-prev-id="digit3" class="digit-input" data-indx="3" data-next-id="digit5" value="" size="1" maxlength="1" autocomplete="off" type="text">
<input id="digit5" name="digit5" data-prev-id="digit4" class="digit-input" data-indx="4" data-next-id="digit6" value="" size="1" maxlength="1" autocomplete="off" type="text">
<input id="digit6" name="digit6" data-prev-id="digit5" class="digit-input" data-indx="5" value="" size="1" maxlength="1" autocomplete="off" type="text">
</div>