2010-12-20 7 views
0

Ich habe eine Seite, die mehrere Formen hat. Ich verwende Mootools Schiebe-Tabs, so dass jede der Schaltflächen im Menü zum nächsten Formular verschoben wird. Es gibt 3 Formulare, die sich technisch auf derselben HTML-Seite befinden. Sehen Sie ein Beispiel für die Technik bei http://creativepony.com/archive/demos/sliding-tabs/Einstellung Tab mit Javascript

Mein Problem ist, wenn ein Benutzer die Tab-Taste und Tabs bis zum letzten Feld Ich möchte die Tab-Reihenfolge, so dass es zurück zum ersten Feld. Dies ist der Fall, damit der Benutzer nicht versehentlich zum nächsten Formular wechselt. Der Benutzer würde am Ende die gleichen Formularfelder durchlaufen. Damit der Benutzer das nächste Formular erreicht, verwendet er das Menü, damit es nicht möglich ist, zum nächsten Formular zu wechseln.

Ich bin mir bewusst, Tab-Reihenfolge mit 'Tabindex' zu setzen, aber das hilft mir nicht, um den Benutzer zum ersten Feld dieses Formulars zurückzukehren.

Irgendwelche Ideen, wie Sie dies mit Javascript erreichen?

Antwort

1

Sie können diese Hörer über Ereignis tun:

$$(".foo").addEvent("click", function(e) { 
    if (e.keyCode == 9) new Event(e).stop(); 
    $("#myfield").focus(); 
}); 
+0

Ist dies eine jQuery-Lösung? Wenn dem so ist, sieht es für mich nicht korrekt aus. –

+0

Nein, es verwendet MooTools. Zumindest, woran ich mich erinnern kann, als ich vor 2 Jahren MooTools programmiert habe. – doque

+1

Ah, ich habe die Bemerkung übersehen, dass das OP Mootools benutzt. Ich kenne diesen Rahmen nicht gut, aber ist es wirklich notwendig, ein "neues Ereignis" zu veröffentlichen, um die Verbreitung des aktuellen zu stoppen? Und sollten Sie nicht das 'keydown'-Ereignis anstelle von' click' verwenden? –

2

ich dies tun würde, um die Felder in den Formularen, indem die nicht sichtbar disabled sind, so dass der Browser sie zu überspringen weiß, unabhängig von Navigationsmechanismus (Denk Zugänglichkeit Beihilfen).

+0

In der Tat sieht das für mich wie die beste Lösung aus: Wenn ein Benutzer sich nicht in das zweite Formular "einklinken" kann, kann er immer nur dorthin zeigen und klicken. –

Verwandte Themen