flotschi301: tabindex in Formularen begrenzen

Ich habe mir ein Formular gebastelt und jeses Feld mit einem bestimmten tabindex versehen. soweit funktioniert der Tabsprung auch, ich möchte nun aber, dass die tabs bei erreichen des letzten tabs wieder bei tabindex 1 anfangen und nicht weiter in den browser tabben. wie kann cih das realisieren? Zusätzlich muss ich gestehen, dass ich mich mit Java/Javascript/PHP/MySQL gar nicht auskenne, also möglichst eine Lösung in HTML suche. Es handelt sich um ein ausschließlich selbst genutze Seite, daher muss ich mir auch keine Gedanken machen, ob jemand diese tabs anderweitig nutzen möchte.

  1. Zusätzlich muss ich gestehen, dass ich mich mit Java/Javascript/PHP/MySQL gar nicht auskenne, also möglichst eine Lösung in HTML suche.

    JavaScript reicht aus :) mit HTML ist das unmöglich.

    Du musst dafür "nur" den Tastendruck der Tab-Taste abfangen und prüfen, auf welchem Feld sich der Fokus befand. Wenn es das letzte war, setzt du den Fokus auf das erste Feld.

    Funktioniert allerdings nicht in Opera, der weiß solche Aktionen entsprechend zu verhindern.

    1. Du musst dafür "nur" den Tastendruck der Tab-Taste abfangen und prüfen, auf welchem Feld sich der Fokus befand. Wenn es das letzte war, setzt du den Fokus auf das erste Feld.

      wäre einfacher, das letzte Feld "onblur" zu überwachen, oder?

      1. wäre einfacher, das letzte Feld "onblur" zu überwachen, oder?

        Auch eine Möglichkeit - müsste man ausprobieren. Ich hätte aber darauf getippt, dass es dann schon zu spät ist und das blur-Event erst feuert, wenn focus bereits außerhalb des Anzeigebereichs ist.

        1. ok, danke schonmal für die tipps, ich fürchte, dann muss ich mich doch noch mit javascript auseinandersetzen, bevor ich mir das zurechtstricke

          1. Om nah hoo pez nyeetz, flotschi301!

            Besser wäre es, Svens Posting gründlich zu überdenken.

            Matthias

            --
  2. Moin!

    Ich habe mir ein Formular gebastelt und jeses Feld mit einem bestimmten tabindex versehen. soweit funktioniert der Tabsprung auch, ich möchte nun aber, dass die tabs bei erreichen des letzten tabs wieder bei tabindex 1 anfangen und nicht weiter in den browser tabben. wie kann cih das realisieren? Zusätzlich muss ich gestehen, dass ich mich mit Java/Javascript/PHP/MySQL gar nicht auskenne, also möglichst eine Lösung in HTML suche. Es handelt sich um ein ausschließlich selbst genutze Seite, daher muss ich mir auch keine Gedanken machen, ob jemand diese tabs anderweitig nutzen möchte.

    Deine Anforderung ist zwar aus Sicht des normalen, etwas fortgeschritteneren Formularausfüllers verständlich, aber sie führt effektiv zu einer unbenutzbaren Webseite.

    Der Tabulator ist für Tastaturbedienung die einzige Möglichkeit, Links zu aktivieren. Wer sich mit Formularausfüllung auskennt, der weiß, dass man mit Tab vorwärts im Formular kommt. Der weiß aber auch, dass man mit Shift-Tab rückwärts kommt. Und der weiß und erwartet, dass man nach dem Formular mit Tab zu den weiteren fokussierbaren Elementen gelangt. Und will das auch so haben.

    Wenn du in diesen Mechanismus eingreifst, verhinderst du für die informierten Tastaturbenutzer das Navigieren auf deiner Seite.

    Und für die meisten User bringt es nichts, weil die sowieso in jedes Feld mit der Maus klicken, bevor sie was eintippen.

    - Sven Rautenberg

    1. Hallo Sven,
      danke dass du dir darüber gedanken gemacht hast, aber wie ich in meinem ursprünglichen posting schon geschrieben habe nutze nur ich diese site und bin mir der einschränkungen bewusst, möchte diese sogar explizit so haben, da sie für den von mir erzielten verwendungszweck erforderlich sind!
      Greets flotschi301