Ja OK, das hatte ich übersehen. :-)

Das erklärt aber noch nicht, warum das Ganze dann immer nur jedes Zweite mal 
mit shift Tab funktioniert.
Das scheint immer so zu sein:

1. Variante:
1. shift Tab - Cursor springt eine Textbox zurück und wieder eine vor (schlecht)
2. schift Tab - Cursor springt eine Textbox zurück und bleibt da (gut)
3. schift Tab - Cursor springt noch eine Textbox zurück und bleibt da (gut)

2. Variante:
1. shift Tab - Cursor springt eine Textbox zurück und wieder eine vor (schlecht)
2. shift Tab - Cursor springt eine Textbox zurück und bleibt da (gut)
3. Änderung der Daten - Cursor springt auf die nächste TextBox (gut)
4. shift Tab - Cursor springt eine Textbox zurück und wieder eine vor (schlecht)

Gruß

Michael W. Schneider
IT-Wizards GmbH

 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Christoph Cluss
> Sent: Thursday, March 24, 2005 11:50 AM
> To: asp.net@glengamoi.com
> Subject: AW: [Asp.net] Textbox Steuerung
> 
> Ok... Du mußt am Ende von Deinem Script shiftTabPress wieder 
> auf false setzen...
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]
> Auftrag von Michael W. Schneider
> Gesendet: Donnerstag, 24. März 2005 11:48
> An: asp.net@glengamoi.com
> Betreff: RE: [Asp.net] Textbox Steuerung
> 
> 
> Das geht schon ganz gut aber ich hab noch zwei kleine Probleme:
> 
> 1. Wenn ich das erste mal shift Tab drücke kommt das gleiche 
> Ergebnis wie ohne das Script, beim 2. Mal geht es dann 2. 
> Nachdem ich einmal shift Tab gedrückt habe springt der Cursor 
> nicht mehr in die nächste Textbox wenn 3 Zeichen in der 
> aktuellen Box drin sind.
> 
> Hier noch mal mein (neuer) Code:
> 
>               <SCRIPT language="javascript">
>               function TextBox_Change(id)
>               {
>                       if 
> (document.getElementById(id).value.length == 3)
>                       {
>                       switch (id) {
>                               case "TextBox1":
>                                       if (shiftTabPress == false) {
>                                               
> document.all('TextBox2').focus();
>                                       }
>                                       break;
>                               case "TextBox2":
>                                       if (shiftTabPress == false) {
>                                               
> document.all('TextBox3').focus();
>                                       }
>                                       break;
>                               case "TextBox3":
>                                       if (shiftTabPress == false) {
>                                               
> document.all('TextBox4').focus();
>                                       }
>                                       break;
>                               case "TextBox4":
>                                       if (shiftTabPress == false) {
>                                               
> document.all('btnSubmit').focus();
>                                       }
>                                       break;
>                               }
>                       }
>                       return false;
>               }
>               </SCRIPT>
> 
> 
> Gruß
> 
> Michael W. Schneider
> IT-Wizards GmbH
> 
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Christoph Cluss
> > Sent: Thursday, March 24, 2005 11:39 AM
> > To: asp.net@glengamoi.com
> > Subject: AW: [Asp.net] Textbox Steuerung
> >
> > Hallo Michael
> >
> > setze dieses Script an den Kopf der Seite und dann kannst 
> Du mit der 
> > Variable shiftTabPress in Deinem Script checken ob shift und Tab 
> > gedrückt wurden.
> >
> >
> >
> > <script language="JavaScript"><!--
> >
> > document.onkeyup = handlerUp;
> > var shiftTabPress=false;
> >
> >
> > function handlerUp(e) {
> >   if (document.all){
> >     if(event.shiftKey && event.keyCode == 9){
> >             shiftTabPress=true
> >     }
> >     }
> > }
> > //--></script>
> >
> >
> >
> > Gruß, Chris
> >
> > -----Ursprüngliche Nachricht-----
> > Von: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]
> > Auftrag von Michael W. Schneider
> > Gesendet: Donnerstag, 24. März 2005 11:20
> > An: asp.net@glengamoi.com
> > Betreff: [Asp.net] Textbox Steuerung
> >
> >
> > Hi Leute,
> >
> > Ich möchte 4 Textboxen so vom User bearbeiten lassen, wie 
> man es von 
> > der Eingabe von IP-Adresse kennt.
> > Also wenn die erste Box 3 Zeichen enthält soll der Cursor 
> auf die 2. 
> > Box springen usw.
> > Das funktioniert auch recht gut mit einem Javascript. (Siehe unten)
> >
> > ABER!
> >
> > Wenn der User feststellt, dass er eine Eingabe neu machen 
> möchte und 
> > mit <Shift><Tab> zurück springt, stellt das Script fest, dass drei 
> > Zeichen eingegeben sind und sprigt gleich wieder auf die 
> nächste Box. 
> > Sind nur ein oder zwei Zeichen in der Box auf die zurück gesprungen 
> > werden soll, klappt alles wie geplant. Natürlich auch, wenn man mit 
> > der Maus in die Textbox klickt, die geändert werden soll.
> >
> > Hat jemand ne Idee, wie ich das Script dazu bekommen kann, nicht zu 
> > laufen, wenn <Shift><Tab> gedrückt wurde?
> >
> > -----------------------------------------
> >
> > Hier mal der bisherige Code:
> >
> > Textboxen:
> > <asp:textbox id="TextBox1" onkeyup="return TextBox_Change(this.id)"
> > runat="server" CssClass="TxtBox" Width="40px"
> > MaxLength="3"></asp:textbox>.
> > <asp:textbox id="TextBox2" onkeyup="return TextBox_Change(this.id)"
> > runat="server" CssClass="TxtBox" Width="40px"
> > MaxLength="3"></asp:textbox>.
> > <asp:textbox id="TextBox3" onkeyup="return TextBox_Change(this.id)"
> > runat="server" CssClass="TxtBox" Width="40px"
> > MaxLength="3"></asp:textbox>.
> > <asp:textbox id="TextBox4" onkeyup="return TextBox_Change(this.id)"
> > runat="server" CssClass="TxtBox" Width="40px"
> > MaxLength="3"></asp:textbox>.
> >
> > JavaScript:
> >
> >     <SCRIPT language="javascript">
> >             function TextBox_Change(id)
> >             {
> >                     if
> > (document.getElementById(id).value.length == 3)
> >                     {
> >                     switch (id) {
> >                             case "TextBox1":
> >
> > document.all('TextBox2').focus();
> >                                     break;
> >                             case "TextBox2":
> >
> > document.all('TextBox3').focus();
> >                                     break;
> >                             case "TextBox3":
> >
> > document.all('TextBox4').focus();
> >                                     break;
> >                             case "TextBox4":
> >
> > document.all('btnSubmit').focus();
> >                                     break;
> >                             }
> >                     }
> >                     return false;
> >             }
> >             </SCRIPT>
> >
> >
> > Gruß
> >
> > Michael W. Schneider
> > IT-Wizards GmbH
> >
> > _______________________________________________
> > Asp.net Mailingliste, Postings senden an:
> > Asp.net@glengamoi.com
> > An-/Abmeldung und Suchfunktion unter:
> > http://www.glengamoi.com/mailman/listinfo/asp.net
> >
> > _______________________________________________
> > Asp.net Mailingliste, Postings senden an:
> > Asp.net@glengamoi.com
> > An-/Abmeldung und Suchfunktion unter:
> > http://www.glengamoi.com/mailman/listinfo/asp.net
> >
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> Asp.net@glengamoi.com
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
> 
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> Asp.net@glengamoi.com
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
> 
_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an