bERBa: Tastenbefehle

Hallo,

ich habe eine Reihe von Formularfelden.

Da die Handlung über TAB und Shift + Tab recht schwierig ist, würd ich gerne das über die Pfeiltasten oder andere Tasten in die Forumlarfelder der Cursor springt...

Ist das Möglich??

Gruß

  1. Hallo bERBa,

    über die Pfeiltasten oder andere Tasten in die Forumlarfelder der Cursor springt...

    Ist das Möglich??

    Ich denke, dies ist eine schlechte Idee, da der User es gewonht ist, zu tab'en. Die Cursortatsen hierfür zu nutzen, erscheint mir dann auch noch als ganz schlechte Alternative. Wie soll der Nutzer innerhalb des Feldes zB seine Eingaben korrigieren, wenn er dort mit den Pfeiltasten nicht (mehr) hinkommt?

    Mit freundlichem Gruß
    Micha

    1. Hiho & Danke für die Antwort.

      Das Script wird nicht öffnetlich laufen sondern nur für ausgewählte Leute....
      Die wünschen sich, die Formularfelder über die Tasten ansteuern zu können...

      Gruß

      1. Hallo bERBa,

        Das Script wird nicht öffnetlich laufen sondern nur für ausgewählte Leute....

        Öhm, reden wir von Java oder JavaScript?

        Die wünschen sich, die Formularfelder über die Tasten ansteuern zu können...

        Können sie doch mit der Tab-Taste bereits?

        Vorgehensweise in JavaScript:

        ermittle die gedrückte Taste und setz den Focus auf das nächste bzw. vorherige Element.

        Mit freundlichem Gruß
        Micha

  2. Danke!
    Mit dem SELFHTML funktionier es in soweit, dass ich den Fokus nach dem Formularfeldname setzten kann...

    if (Ereignis.keyCode == 38)
     {
     document.Testform.uschi.focus();
     }

    Meine Frage:

    Wie funktioniert das für die ForumularfeldID?

    Gruß

    1. Hallo

      if (Ereignis.keyCode == 38)
      {
      document.Testform.uschi.focus();
      }

      Meine Frage:

      Wie funktioniert das für die ForumularfeldID?

      Setze auf das Element, das Du <http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id@title=über seine ID identifiziert hast>, den Fokus.

      Freundliche Grüße

      Vinzenz

  3. Ok, funst jetzt so:

    if (Ereignis.keyCode == 38)
     {
     i=1;
     document.getElementById(i).focus()
     }

    Eine Frage hätt ich noch....
    Kann ich auslesen, in welchem Forumlarfeld sich der Cursor befindet?

    Gruß

    1. Hi,

      i=1;
      document.getElementById(i).focus()

      Da 1 keine gueltige ID eines HTML-Elementes sein kann (diese muessen mit einem Buchstaben beginnen), darf dieser Javascript-Code nicht funktionieren.

      Warum wählst Du den Bereich JAVA/JSP, wenn es um Javascript geht?

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. function Tastendruck (Ereignis) {
          if (!Ereignis)
            Ereignis = window.event;
          if (Ereignis.keyCode == 38)
          {
          i=1;
          document.getElementById(i).focus()
          }

        }
        document.onkeypress = Tastendruck;

        </script>
        </head><body>
        <p>Bitte drücken Sie irgendwelche Tasten!</p>
        <form name="Testform">

        <input id="1" name="peter">
        <br>
        <input id="2" name="uschi" id>
        </form>

        Somit funktioniert es......

        Ansonsten kann ich natürlich gern ein anderen ID-Wert wählen...
        Trotzdem würd ich gern rausfinden, wie ich die aktuelle Position d. Cusors auslesen kann..

        1. Hallo bERBa,

          Somit funktioniert es......

          ... wohl zufällig, weil der Browser tollerant ist und die nicht zulässige ID akzeptiert, das war es, worauf Dich MudGuard hingewiesen hat.

          Trotzdem würd ich gern rausfinden, wie ich die aktuelle Position d. Cusors auslesen kann.

          Du schaust Dir ja onkeypress an. Somit steht Dir dieses Ereignis zur verfügung, mit dessen Eigenschaft Du mMn. über
          var target = event.target || event.srcElement;
          auf das aktive Element schließen kannst.

          Mit freundlichem Gruß
          Micha