Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

Felderwechsel nach Eingabe

Letzter Beitrag 06-27-2008 14:46 von Paul_Fischer. 5 Antworten.
Seite 1 von 1 (6 Treffer)
Beiträge sortieren: Zurück Weiter
  • 06-27-2008 11:54

    Felderwechsel nach Eingabe

    Hallo zusammen! 

    Ich habe folgendes Problem.
    Ich habe eine Eingabemaske, die 3 bis 4 verschiedene Felder besitzt. Diese sind u.a. Artikelnummer, Lagerplatz, Menge... usw.
    Die Eingabe der Felder erfolgt durch einen Handscanner. Man kennt die Dinger von z.B. der Post. Ein einfaches Barcode Lesegerät.
    Um die Laufzeit der Anwendung zu beschleunigen würde ich gerne so vorgehen.

    Im PageLoad der Seite wird zuerst der Focus auf das Feld "Artikelnummer" gestzt. Jetzt wird der Code gescannt und in das Feld geschrieben.
    Nach dieser Eingabe soll nun der Cursor in das nächste Feld springen. z.B. Lagerplatz.
    Ich frage mich, wie ich dieses Ereigniss abrufen kann? Ich habe es mit dem TextChanged versucht... jedoch läuft er mir da nicht rein.

    Ich hoffe Ihr könnt mir folgen?
    Hat jemand einen Vorschlag oer eine Lösung?

    Vielen Dank!

    mfg Paul 

    • IP-Adresse ist Registriert
  • 06-27-2008 12:30 Antwort zu

    AW: Felderwechsel nach Eingabe

    das Problem ist, dass der Event onChange erst eintritt, wenn Du das Textfeld verläßt.

    Du mußt also prüfen, ob evt. ein onKeyup oder onMouseUp-Evenbt eintritt:

    z.B. mit

    <input onkeydown="alert('onkeydown')" onkeyup="alert('onkeyup')" onmousedown="alert('onmousedown')" onmouseup="alert('onmouseup')" />

    Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
            TextBox1.Attributes.Add(
    "onMouseUp", "setFocus('" & TextBox2.ClientID & "')")
            TextBox2.Attributes.Add(
    "onMouseUp", "setFocus('" & TextBox3.ClientID & "')")
    End Sub

     Dann noch ein kurzes Javascript:

    <script type="text/javascript">

    function setFocus(id){

    document.getElementById(id).focus()

     

    }

     

    </script>

     

    • IP-Adresse ist Registriert
  • 06-27-2008 13:37 Antwort zu

    AW: Felderwechsel nach Eingabe

    Hallo!

     Vielen Dank für deine Hilfe.

     Könntest du mir kurz erklären,  wo ich das Java skript einbinden muss? Ich kenne mich in Java nicht aus.:

     

    <script type="text/javascript">

    function setFocus(id){

    document.getElementById(id).focus()

     }

     </script>

    Auch diese Zeile:

     <input onkeydown="alert('onkeydown')" onkeyup="alert('onkeyup')" onmousedown="alert('onmousedown')" onmouseup="alert('onmouseup')" />

    Muss diese in die Quell-Ansicht der Form? Wenn ja, wo?
     

    Mfg Paul 

    • IP-Adresse ist Registriert
  • 06-27-2008 13:57 Antwort zu

    AW: Felderwechsel nach Eingabe

    Diese Zeile:
     <input onmouseup="alert('onmouseup')" />

    Setzt Du erst mal in Deine HTML-Setei und setzt den Cursor auf die Eingabebox und betätigst Deinen Scanner.
    Vermutlich gibt es eine Meldung: 'onmouseup' ganz am Ende.

    Wenn nicht, probierst Du:
     <input 'onkeyup'="alert('onkeyup')" />
    Vermutlich gibt es eine Meldung: 'onkeyup' ganz am Ende.

    Wenn das so ist, dann:

    In Deinem HTML Bereich:

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Unbenannte Seite</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
        </div>
        <script type="text/javascript">
            function setFocus(id){
                      document.getElementById(id).focus()
            }
     </script>
        </form>
    </body>
    </html>

     

    Und im Codebehind dann folgendes:

    Partial Class _Default
        Inherits System.Web.UI.Page

     

    'onMouseUp Hängt natürlich von dem Ergebnis des Tests am Anfag ab ... evtl. muß es heißen: onKeyUp
        Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
            TextBox1.Attributes.Add("onMouseUp", "setFocus('" & TextBox2.ClientID & "')")
            TextBox2.Attributes.Add("onMouseUp", "setFocus('" & TextBox3.ClientID & "')")
            TextBox3.Attributes.Add("onMouseUp", "setFocus('" & TextBox4.ClientID & "')")
            TextBox4.Attributes.Add("onMouseUp", "setFocus('" & TextBox1.ClientID & "')")
        End Sub


    End Class

     

    • IP-Adresse ist Registriert
  • 06-27-2008 14:07 Antwort zu

    AW: Felderwechsel nach Eingabe

    Die inputbox am Anfang muß natürlich so heißen:

    Diese Zeile:
     <input onmouseup="alert('onmouseup')"   type="text" />

    Setzt Du erst mal in Deine HTML-Setei und setzt den Cursor auf die Eingabebox und betätigst Deinen Scanner.
    Vermutlich gibt es eine Meldung: 'onmouseup' ganz am Ende.

    Wenn nicht, probierst Du:
     <input 'onkeyup'="alert('onkeyup')"  type="text"  />
    Vermutlich gibt es eine Meldung: 'onkeyup' ganz am Ende.
     

    Chris Cluss:

    Diese Zeile:
     <input onmouseup="alert('onmouseup')" />

    Setzt Du erst mal in Deine HTML-Setei und setzt den Cursor auf die Eingabebox und betätigst Deinen Scanner.
    Vermutlich gibt es eine Meldung: 'onmouseup' ganz am Ende.

    Wenn nicht, probierst Du:
     <input 'onkeyup'="alert('onkeyup')" />
    Vermutlich gibt es eine Meldung: 'onkeyup' ganz am Ende.

    Wenn das so ist, dann:

    In Deinem HTML Bereich:

     

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Unbenannte Seite</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
        </div>
        <script type="text/javascript">
            function setFocus(id){
                      document.getElementById(id).focus()
            }
     </script>
        </form>
    </body>
    </html>

     

     

     

    Und im Codebehind dann folgendes:

     

     

    Partial Class _Default
        Inherits System.Web.UI.Page

     

    'onMouseUp Hängt natürlich von dem Ergebnis des Tests am Anfag ab ... evtl. muß es heißen: onKeyUp
        Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
            TextBox1.Attributes.Add("onMouseUp", "setFocus('" & TextBox2.ClientID & "')")
            TextBox2.Attributes.Add("onMouseUp", "setFocus('" & TextBox3.ClientID & "')")
            TextBox3.Attributes.Add("onMouseUp", "setFocus('" & TextBox4.ClientID & "')")
            TextBox4.Attributes.Add("onMouseUp", "setFocus('" & TextBox1.ClientID & "')")
        End Sub


    End Class

     

     

     

    • IP-Adresse ist Registriert
  • 06-27-2008 14:46 Antwort zu

    AW: Felderwechsel nach Eingabe

    Zuerst,

    Vielen Dank! Es funktioniert! Danke!

     

    Für mich ist vorallem die "onKeyUp" - Sache wichtig.

    Dazu habe ich nun nochmals eine Frage. Kann ich statt "onKeyUp" auch einen festen Buchstaben beziehen? z.B.: "onKeyEnter" ?

    Wäre es möglich, das das Java Script ca. 1 Sekunde wartet, bis der Befehl ausgeführt wird? 

     

    Nochmals vielen Dank! 

     

    mfg Paul 

    • IP-Adresse ist Registriert
Seite 1 von 1 (6 Treffer)