How to autotab on a web form?

How do you autotab from field to field on a web page once the maxlength of the field is reached.

onkeyup="autotab(xxx,yyy)" gives an error.


  • : How do you autotab from field to field on a web page once the maxlength of the field is reached.
    : onkeyup="autotab(xxx,yyy)" gives an error.



    Here are all the others.>> :-)

    SendKeys Class
    See Also
    SendKeys Members | System.Windows.Forms Namespace | SendKeys Members (Visual J# Syntax) | Managed Extensions for C++ Programming
    Namespace: System.Windows.Forms

    Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

    Assembly: System.Windows.Forms (in System.Windows.Forms.dll)



    Visual Basic

    Show All
    Provides methods for sending keystrokes to an application.

    For a list of all members of this type, see SendKeys Members.


    [Visual Basic]
    Public Class SendKeys

    public class SendKeys

    public __gc class SendKeys

    public class SendKeys

    Thread Safety
    Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

    Use SendKeys to send keystrokes and keystroke combinations to the active application. This class cannot be instantiated. To send a keystroke to a class and immediately continue with the flow of your program, use Send. To wait for any processes started by the keystroke, use SendWait.

    Each key is represented by one or more characters. To specify a single keyboard character, use the character itself. For example, to represent the letter A, pass in the string "A" to the method. To represent more than one character, append each additional character to the one preceding it. To represent the letters A, B, and C, specify the parameter as "ABC".

    The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses () have special meanings to SendKeys. To specify one of these characters, enclose it within braces ({}). For example, to specify the plus sign, use "{+}". To specify brace characters, use "{{}" and "{}}". Brackets ([ ]) have no special meaning to SendKeys, but you must enclose them in braces. In other applications, brackets do have a special meaning that might be significant when dynamic data exchange (DDE) occurs.

    To specify characters that aren't displayed when you press a key, such as ENTER or TAB, and keys that represent actions rather than characters, use the codes in the following table.

    Key Code
    END {END}
    ENTER {ENTER}or ~
    ESC {ESC}
    PRINT SCREEN {PRTSC} (reserved for future use)
    TAB {TAB}
    F1 {F1}
    F2 {F2}
    F3 {F3}
    F4 {F4}
    F5 {F5}
    F6 {F6}
    F7 {F7}
    F8 {F8}
    F9 {F9}
    F10 {F10}
    F11 {F11}
    F12 {F12}
    F13 {F13}
    F14 {F14}
    F15 {F15}
    F16 {F16}
    Keypad add {ADD}
    Keypad subtract {SUBTRACT}
    Keypad multiply {MULTIPLY}
    Keypad divide {DIVIDE}

    To specify keys combined with any combination of the SHIFT, CTRL, and ALT keys, precede the key code with one or more of the following codes.

    Key Code
    SHIFT +
    CTRL ^
    ALT %

    To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SHIFT while E and C are pressed, use "+(EC)". To specify to hold down SHIFT while E is pressed, followed by C without SHIFT, use "+EC".

    To specify repeating keys, use the form {key number}. You must put a space between key and number. For example, {LEFT 42} means press the LEFT ARROW key 42 times; {h 10} means press H 10 times.

    Note Because there is no managed method to activate another application, you can either use this class within the current application or use native Windows methods, such as FindWindow and SetForegroundWindow, to force focus on other applications.
    [Visual Basic, C#] The following code example demonstrates how to use the Send method. To run the example, paste the following code in a form called Form1 containing a button called Button1. The button control's TabIndex property should be set to 0. When the example is running, double-click the form to trigger the button's click event. Ensure the events are connected to their event-handling methods.

    [Visual Basic]
    ' Clicking Button1 causes a message box to appear.
    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
    MessageBox.Show("Click here!")
    End Sub

    ' Use the SendKeys.Send method to trigger the Button1 click event
    ' and display the message box.
    Private Sub Form1_DoubleClick(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles MyBase.DoubleClick

    ' Send the enter key; since the tab stop of Button1 is 0, this
    ' will trigger the click event.
    End Sub

    Dr M.

  • Thanks Dr. M., but I thought SENDKEYS only worked with Windows Forms, not Web Forms. If I do a SendKeys.Send("{TAB}") on my web form I get an error "Name 'SendKeys' is not declared." Any thoughts on what I am doing wrong? Thanks - I appreciate your help.
  • : Thanks Dr. M., but I thought SENDKEYS only worked with Windows Forms, not Web Forms. If I do a SendKeys.Send("{TAB}") on my web form I get an error "Name 'SendKeys' is not declared." Any thoughts on what I am doing wrong? Thanks - I appreciate your help.
    this is more JS problem, but let's cover JS and VB.NET..
    Let's have theese part of final html..

    function FocusNext(Cur, Next) {
    if (c.value.length==c.maxLength) document.getElementById(Next).focus();

    On key-up event is called JS function FocusNext (declared above) with name of current and next element. I guess you'll have more of textboxes on that form so function would be suitable.
    Focus next finds Current input, compares length and max length and if ==, focuses next control specified as second argument..

    And now .NET part...
    You can put that block directly into aspxpage, or include js file. But onkeyup will require one line of code, because you can not put this into <asp:textbox element (.NET expects server event here)

    [code] txtName.Attributes("onkeyup")="javascript: FocusNext('a', 'b');"[/code]

    Notice, that you have to provide id ("a", "b"..) as it is finally rendered! If you have your controls inside of ascx, placeholder etc, you have to specify full name (take a look into source of your rendered page, if you recieve javascript error that object was not found)

    And this should be all.. Hope it helps

    [blue][b][italic][size=4]P[/size]avlin [size=4]II[/italic][/size][/b][/blue]

    [purple]Don't take life too seriously anyway you won't escape alive from it![/purple]

  • hey everybody,

    sorry to bring up this old post. I've just started doing programming in 2005 with asp and im interested in learn in the autotab function

    from the post i could see that this is limited the maxlength to work.

    So my question is, let say i want the textbox to autotab after 1 character, normally i would set the maxlength to 1. but sometime i needed to put 2 character inside the textbox.

    my idea was, if i add in a special char such as "shift" then i could key in 2 char else only 1 char accepted then auto tab to next box.

    how do i code this?

    thanks all in advance
  • seancampbellseancampbell Pennsylvania, USA
    I would try using javascript. Give me a day here and I might be able to rum up an answer from a friend who is a web developer.
  • seancampbell,

    Thanks.. every help is much appreciated
  • seancampbellseancampbell Pennsylvania, USA
    This is really a question for the ASP.Net forum, but I don't mind helping you out here.

    Add the following code to the area of your website.

    var field_length=0;
    function TabNext(obj,event,len,next_field) {
    if (event == "down") {
    else if (event == "up") {
    if (obj.value.length != field_length) {
    if (field_length == len) {


    It is invoked like this:




    It's pretty straight forward, you can pretty easily tell what is going on if you understand any c-style syntax. If you want to conditional auto-tab, you will have to edit the TabNext function.

    Have fun!
    Sean Campbell
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!