eddi-z: bestimmtes Eingabefeld vorselektieren

Hallo,

in einer Tabelle mit vielen Text-Eingabefeldern soll ein bestimmtes beim Laden der Seite vorselektiert werden. Das Text-Eingabefeld scheint 'select! nicht zu kennen.

Was nun?

  1. Hallo eddi-z,

    ein select Attribut gibt es nur in deiner Fantasie.

    Willst Du den Text komplett auswählen oder willst Du nur den Fokus hineinsetzen?

    Um den Fokus hineinzusetzen, kannst Du das autofocus-Attribut verwenden (HTML 5, im Internet Explorer ab Version 10). Fallback mit JavaScript und der focus() Methode von HTMLElement.

    Um den Text vorauszuwählen, brauchst Du JavaScript und die setSelectionRange Methode des HTMLInputElement Objekts.

    Rolf

    --
    sumpsi - posui - clusi
  2. Danke.

    autofocus war das Zauberwort

  3. @@eddi-z

    in einer Tabelle mit vielen Text-Eingabefeldern soll ein bestimmtes beim Laden der Seite vorselektiert werden.

    Soll es das? Warum sollte es?

    Und wenn, gibt es da einiges zu bedenken. Siehe The accessibility of HTML 5 autofocus (Bruce Lawson).

    LLAP 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
    1. Hallo Gunnar,

      guter Hinweis. Könnte man das so in Kurzform darstellen?

      Rolf

      --
      sumpsi - posui - clusi
      1. Wichtiger fände ich einen Hinweis darauf daß autofocus nur bei einem input Feld funktioniert. MFG

        1. Hallo

          Wichtiger fände ich einen Hinweis darauf daß autofocus nur bei einem input Feld funktioniert. MFG

          Nicht nur, dass du of nicht lesen willst, jetzt kannst du es bewiesenermaßen nicht einmal mehr.

          Zitat aus dem bereits von RolfB verlinkten Abschnitt:

          „Mit dem booleschen autofocus-Attribut wandert der Cursor beim Laden der Seite automatisch auf dieses Feld. Sie können dieses Attribut für button, input und textarea-Elemente verwenden.“

          … was für ein Sprallo.

          Tschö, Auge

          --
          Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
          Hohle Köpfe von Terry Pratchett
          1. Hallo Auge,

            mein Minus für den persönlichen Angriff.

            Rolf

            --
            sumpsi - posui - clusi
            1. Hallo

              mein Minus für den persönlichen Angriff.

              Wgen des Sprallo für den Troll(o)? Gerne doch.

              Tschö, Auge

              --
              Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
              Hohle Köpfe von Terry Pratchett
          2. „Mit dem booleschen autofocus-Attribut wandert der Cursor beim Laden der Seite automatisch auf dieses Feld. Sie können dieses Attribut für button, input und textarea-Elemente verwenden.“

            Und genau das ist ja falsch! Weil da die Mehrzahl steht! MFG

            1. „Mit dem booleschen autofocus-Attribut wandert der Cursor beim Laden der Seite automatisch auf dieses Feld. Sie können dieses Attribut für button, input und textarea-Elemente verwenden.“

              Und genau das ist ja falsch! Weil da die Mehrzahl steht! MFG

              Also ich würde das mal umformulieren: Sie können dieses Attribut für einen button oder ein input-Element oder für eine textarea je window.document verwenden. MFG

              1. Tach!

                „Mit dem booleschen autofocus-Attribut wandert der Cursor beim Laden der Seite automatisch auf dieses Feld. Sie können dieses Attribut für button, input und textarea-Elemente verwenden.“

                Und genau das ist ja falsch! Weil da die Mehrzahl steht! MFG

                Also ich würde das mal umformulieren: Sie können dieses Attribut für einen button oder ein input-Element oder für eine textarea je window.document verwenden.

                Das ist auch noch nicht richtig. Man kann es sehr wohl mehrfach setzen, es wird dann aber bis auf ein Vorkommen ignoriert. Insofern war die ursprüngliche Formulierung nicht falsch, sondern nur unvollständig, wenn man denn extra betonen möchte, dass der Focus sich nur an einer Stelle befinden kann. Das ist aber eigentlich unnötig, denn das liegt in der Natur eines Focus/Fokus, sich nur an einer Stelle zu befinden.

                dedlfix.

                1. Das ist aber eigentlich unnötig, denn das liegt in der Natur eines Focus/Fokus, sich nur an einer Stelle zu befinden.

                  Auch falsch. Bei mehrfacher Verwendung wird der Fokus nämlich wo gesetzt!?

                  Im Übrigen meldet der Valigator einen Fehler bei mehrfacher Besetzung.

                  1. Tach!

                    Das ist aber eigentlich unnötig, denn das liegt in der Natur eines Focus/Fokus, sich nur an einer Stelle zu befinden.

                    Auch falsch. Bei mehrfacher Verwendung wird der Fokus nämlich wo gesetzt!?

                    Was soll an der zitierten Aussage falsch sein? Ein Fokus sitzt an genau einer Stelle. Der Focus wird auf das erste Element mit autofocus-Attribut gesetzt.

                    dedlfix.

                    1. Der Focus wird auf das erste Element mit autofocus-Attribut gesetzt.

                      Na endlich!

                      1. Hallo

                        Der Focus wird auf das erste Element mit autofocus-Attribut gesetzt.

                        Na endlich!

                        Ganz so, wie Rolf es schon fast eine Stunden zuvor geschrieben hatte:

                        „Wenn autofocus mehrfach gesetzt ist, bekommt das Element, das [als] erstes im DOM steht, den Fokus.“

                        Soweit dazu …

                        Tschö, Auge

                        --
                        Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
                        Hohle Köpfe von Terry Pratchett
                2. @@dedlfix

                  Also ich würde das mal umformulieren: Sie können dieses Attribut für einen button oder ein input-Element oder für eine textarea je window.document verwenden.

                  Das ist auch noch nicht richtig. Man kann es sehr wohl mehrfach setzen, es wird dann aber bis auf ein Vorkommen ignoriert.

                  Wenn man’s so sieht, kann man das autofocus-Attribut an Elemente jeden Typs hängen, es wird dann gegebenenfalls ignoriert. 😉

                  LLAP 🖖

                  --
                  „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
                  1. Wenn man’s so sieht, kann man das autofocus-Attribut an Elemente jeden Typs hängen, es wird dann gegebenenfalls ignoriert.

                    Man kann ne ganze Menge machen. Es kommt aber nicht nur darauf an die Fehler zu finden sondern auch daraus zu lernen!

                    1. Tach!

                      Man kann ne ganze Menge machen. Es kommt aber nicht nur darauf an die Fehler zu finden sondern auch daraus zu lernen!

                      Achwas, es kommt immer nur darauf an, solche Binsenweisheiten anderen zu erzählen und niemals, sie auf sich selbst anzuwenden.

                      dedlfix.

                  2. Hallo Gunnar,

                    valides HTML wird weithin überschätzt 😉 - wenn die Browser jedes Dokument "broken" zurückweisen würden, das die Validierung nicht besteht, wäre es was anderes.

                    Jedenfalls sind mehrere autofocus-Element durchaus erlaubt, solange jedes seine eigene NASE hat. Ich habe das mal im Wiki nachgetragen.

                    Rolf

                    --
                    sumpsi - posui - clusi
              2. @@pl

                „Mit dem booleschen autofocus-Attribut wandert der Cursor beim Laden der Seite automatisch auf dieses Feld. Sie können dieses Attribut für button, input und textarea-Elemente verwenden.“

                Und genau das ist ja falsch! Weil da die Mehrzahl steht! MFG

                Also ich würde das mal umformulieren: Sie können dieses Attribut für einen button oder ein input-Element oder für eine textarea je window.document verwenden.

                Und genau das ist ja falsch! Es dürfen mehrere autofocus-Attribute in einem HTML-Element vorkommen:

                “There must not be two elements with the same nearest ancestor autofocus scoping document element that both have the autofocus attribute specified.” [HTML]

                LLAP 🖖

                --
                „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
            2. Hallo,

              „Mit dem booleschen autofocus-Attribut wandert der Cursor beim Laden der Seite automatisch auf dieses Feld. Sie können dieses Attribut für button, input und textarea-Elemente verwenden.“

              Und genau das ist ja falsch! Weil da die Mehrzahl steht! MFG

              Was meinst du mit "genau das"? Warum sollte das mit der Mehrzahl einen Fehler begründen?

              Gruß
              Kalk

            3. Hallo pl,

              dein Hinweis war also nicht, dass es nur bei einem input Feld funktioniert, sondern, dass es nur bei einem input-artigen Element funktioniert (kursiv von mir ergänzt, korrekt laut Spec wäre: bei interaktiven, submitfähigen Form-Controls).

              Sorry, das habe ich auch nicht so herausgelesen. Andererseits ist es ja auch logisch, denn wie fokussiert man zwei interaktive Elemente auf einmal? Wenn autofocus mehrfach gesetzt ist, bekommt das Element, das erstes im DOM steht, den Fokus. Auch bei wild gemischter tabindex-Folge. Aber du hast recht, das ist dann kein valides Html.

              Wenn man es ganz genau nimmt, muss man erst noch das „in der Elternkette nächstliegende, Autofocus Scope-bildende Dokumentelement“[1] (NASE) definieren. Jedes Element, das ein autofocus-Attribut trägt, besitzt ein NASE. Die Suche nach dem NASE beginnt beim Element selbst und verläuft bis zum Document Element des DOM. Das erste bei dieser Suche angetroffene dialog Element ist das NASE (d.h. das kann auch das autofocus Element selbst sein). Gibt es keins, ist das Dokument-Element das NASE.

              Und basierend darauf sagt die Spec: es darf pro NASE maximal ein Element mit autofocus-Attribut geben.

              Rolf

              --
              sumpsi - posui - clusi

              1. die Spec spricht vom "nearest ancestor autofocus scoping document element" ↩︎

              1. Besser formulieren hilft Missverständnisse vermeiden.

                1. Hallo,

                  Besser formulieren hilft Missverständnisse vermeiden.

                  Ich hab das mal als Zitat vorgeschlagen, damit man das in Zukunft den üplichen Verdächtigen kurz und prägnant um die Ohren schreiben kann…

                  Gruß
                  Kalk

                  1. @@Tabellenkalk

                    Besser formulieren hilft Missverständnisse vermeiden.

                    Ich hab das mal als Zitat vorgeschlagen, damit man das in Zukunft den üplichen Verdächtigen kurz und prägnant um die Ohren schreiben kann…

                    Wie gehässig von dir. 🤣

                    LLAP 🖖

                    --
                    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
                2. Hallo pl,

                  siehe mein NASE-Update, basierend auf Spec-Lektüre. Deine verbesserte Formulierung weiß noch nichts vom <dialog> Element.

                  Jedenfalls bekommst Du mein Danke Schön für das Anzetteln dieser Klärung.

                  Rolf

                  --
                  sumpsi - posui - clusi