mooo: Automatisch zu leerem Feld springen

Hi, mal ne Frage:

Ich bastel grad ein Formular, in dem Leute mit Handscanner verschiedene Daten eingeben müssen.
Der Haken ist, daß das letzte Zeichen, was unsere Scanner standardmäßig übergeben ein Enter ist, quasi wird der Submit-Button sofort beim Scannen ausgelöst.
Die Leute müssen aber 5 Textfelder eingeben, manche davon sind leer, manche nicht.
Wie kann ich per javascript dafür sorgen, daß jeweils das erste leere Feld fokussiert wird?
Folgendes funktioniert nicht:

<script language=JavaScript>  
   function tabstop()  
   {  
      for(n=0;n<25;n++)  
      {  
          if(window.document.dasformular.elements[n].value== ""){  
               window.document.dasformular.elements[n].focus();  
               break;  
          }  
      }  
   }  
</script> 
<input type="text" name="abc" onBlur="tabstop()">  
<input type="text" name="def" onBlur="tabstop()">  
<input type="text" name="ghi" onBlur="tabstop()">  
<input type="text" name="jkl" onBlur="tabstop()">  
<input type="text" name="mno" onBlur="tabstop()">

Auch folgendes funktioniert nicht:

<form action="index.php" method="get" name="dasformular" onsubmit="return tabstop();">

Ich habs auch schon mit GetElementsByID versucht und alle wichtigen Felder mit ids versehen, aber es ändert nichts. Es wird kein Feld fokussiert...

Kennt jemand eine Lösung für das Problem?

Wäre seeeehr dankbar :)

  1. Ich bastel grad ein Formular, in dem Leute mit Handscanner verschiedene Daten eingeben müssen.
    Der Haken ist, daß das letzte Zeichen, was unsere Scanner standardmäßig übergeben ein Enter ist, quasi wird der Submit-Button sofort beim Scannen ausgelöst.
    Die Leute müssen aber 5 Textfelder eingeben, manche davon sind leer, manche nicht.
    Wie kann ich per javascript dafür sorgen, daß jeweils das erste leere Feld fokussiert wird?

    ungetestet:

    Ich würde sagen, du gibst dem input submit das Attribut disabled und
    entfernst das Attribut, nachdem die erforderlichen Daten eingegeben wurden.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  2. Ich bastel grad ein Formular, in dem Leute mit Handscanner verschiedene Daten eingeben müssen.
    Der Haken ist, daß das letzte Zeichen, was unsere Scanner standardmäßig übergeben ein Enter ist, quasi wird der Submit-Button sofort beim Scannen ausgelöst.

    Das kann man verhindern, in dem du den Submitbutton entfernst, aber wie kommen die Daten in die Felder?
    Läßt sich da nichts drehen?

    Struppi.

  3. Kennt jemand eine Lösung für das Problem?

    Stell den Handscanner um, dass er nach der Erfassung der Zeichenkette einen Tabulator (U+0009) sendet.

    1. Kennt jemand eine Lösung für das Problem?

      Stell den Handscanner um, dass er nach der Erfassung der Zeichenkette einen Tabulator (U+0009) sendet.

      Ich denke nicht das nur wegen einer Anwendung unser Standard für Scanner geändert ;)
      außerdem springt es dann auch nicht auf das nächste freie feld da das nächste feld bereits daten aus einer db enthalten könnte.
      Wie gesagt, der witz soll ja sein, dass das nächste leere feld den fokus bekommt!

      1. Kennt jemand eine Lösung für das Problem?

        Stell den Handscanner um, dass er nach der Erfassung der Zeichenkette einen Tabulator (U+0009) sendet.

        Ich denke nicht das nur wegen einer Anwendung unser Standard für Scanner geändert ;)

        Wenns nur eine Einzelanwendung ist, ist das durchaus eine ordentliche Lösung - wenn natürlich der Scanner überall anders das Enter senden muss, ist ds keine Lösung - ja.