jQuery auf der Tastatur die Rücktaste bewegen zum vorherigen Eingabefeld, wenn leer wird

Habe ich diese jQuery Skript:

$(document).ready(function() {
    //Focus the first field on page load
    $(':input:enabled:visible:first').focus();
    //Clear all fields on page load
    $(':input').each(function() {
        this.value = "";
    });
});
//Clear field on focus
$('input').focus(function() {
    this.value = "";
});
//Allow only alphabetical characters in the fields
$(':input').bind("keypress", function(event) {
    if (event.charCode != 0) {
        var regex = new RegExp("^[a-zA-Z]+$");
        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
            event.preventDefault();
            return false;
        }
        $(this).next('input').focus();
    }
});
//Enumerate submit click on [ENTER]-keypress
$(':input').keypress(function(e) {
    if (e.which == 13) {
        jQuery(this).blur();
        jQuery('#submit').click();
    }
});
//Submit form
$('#submit').click(function() {
    //Show loading image while script is running
    $("#response").html("<img src='../images/loader.gif'>");

    //POST fields as array
    function serealizeInputs(input) {
        var array = [];
        input.each(function() {
            array.push($(this).val())
        });
        return array;
    }

    var letters = serealizeInputs($('.letters'));

    $.post('loadwords.php', {
        letters: letters
    }, function(data) {
        //Show the resonse from loadwords.php
        $("#response").html(data);
    });
});

Sehen http://jsfiddle.net/8S2x3/1/

Ich möchte zu optimieren es ein wenig, aber ich weiß nicht, wie.

Meisten code kopieren-einfügen-ändern, da bin ich immer noch lernen

Meine Frage(N):
Wie kann ich verschieben Sie den Fokus zur vorherigen textfield-Objekts auf die Rücktaste Tastendruck? Ich würde gerne in der Lage, löschen Sie die Zeichen, wenn Sie falsch, aber wenn Sie drücken Sie die Rücktaste wieder verschieben Sie den Fokus zum vorherigen Eingabefeld. Also im Grunde, wenn Eingang ='' - und die Rücktaste gedrückt wird, bewegen zum vorherigen Feld. Wenn der Eingang den Wert und die Rücktaste gedrückt wird, als normal (löschen der Zeichen)

Auch ich Frage mich, wie das hinzufügen einer css-Klasse, wenn das Feld Wert, und wenn es leer ist, fügen Sie eine weitere css-Klasse.

  • Sind Sie sicher, dass das eine gute Idee ist von einem accessibility-Sicht? Das klingt wie völlig unerwartete Verhalten und würde nur dazu dienen, den Benutzer verwirren. Einige Benutzer halten Sie die entf-Taste anstatt Tippen Sie darauf, und stoppen an den perfekten moment um zu verhindern, dass das löschen einer vorherigen Feld ist etwas, was ich weiß, ich wäre unfähig.
  • Ich denke, es wird OK sein. Da sollte der Benutzer nur in der Lage, geben Sie ein Zeichen pro Eingabefeld.
InformationsquelleAutor David | 2012-12-20
Schreibe einen Kommentar