onFocus or focus() issues in Mozilla for Red Hat Linux 8.0?

Discussion in 'Javascript' started by Scott Navarre, Feb 28, 2004.

  1. Hi,

    I have Red Hat 8.0 and have the default Mozilla browser that comes with
    it. I am programming in javascript and have come across something
    problematic. Given the following code:
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <FORM>
    <INPUT TYPE="TEXT" NAME="input1">
    <INPUT TYPE="BUTTON" VALUE="Click" onFocus="input2.focus()"
    onClick="alert('You clcked me!')">
    <INPUT TYPE="TEXT" NAME="input2">
    </FORM>
    </BODY>
    </HTML>

    When using MSIE or Netscape for Windows: if you click inside the first
    text input and then tab to the button, it will automatically forward focus
    to the second text input where you can type text there. This is how I want
    it to behave.

    But when using Mozilla in RH8.0: when you tab to the button the cursor
    appears in the second text input, and so looks like it is working correctly.
    But when you try to type something, nothing happens -- the cursor just sits
    there blinking. If you then hit the enter key, it will act the same as if
    the button has focus (popping up the alert window, since hitting Enter while
    a button has focus is the same as clicking the button with the mouse).
    So it seems to me that when tabbing to the button, the button is
    internally keeping focus even though the event handler is telling it to
    forward focus to the second text input and even though the second text input
    appears to have focus with the appearance of a cursor.


    And the problem isn't only when the element I am trying to skip is a
    button. Given the following code:
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <FORM>
    <INPUT TYPE="TEXT" NAME="input1">
    <INPUT TYPE="TEXT" NAME="input2" onFocus="input3.focus()">
    <INPUT TYPE="TEXT" NAME="input3">
    </FORM>
    </BODY>
    </HTML>

    Once again, MSIE and Netscape for Windows handles this properly. But in
    Mozilla for RH8.0 when tabbing to the second text input, the cursor appears
    there and you can type in the second text input -- it doesn't forward the
    focus at all. And worse yet when tabbing from the second text input to the
    third text input, the cursor skips the THIRD text input and appears in the
    location input at the top of the browser!!!
    Furthermore when 'clicking' on the second text input with the mouse, the
    text cursor appears in the second text input and stays there but typed text
    from the keyboard appears in the third text input.

    Does anyone know if these are bugs with that Mozilla (or that version of
    it), or does Mozilla have a different event handler or javascript command
    that I can give to make it work properly??? The Netscape version on Windows
    I am using is 4.0, and I thought Mozilla was created FROM Netscape...

    Thanks in advance,
    Scott Navarre
     
    Scott Navarre, Feb 28, 2004
    #1
    1. Advertising

  2. Scott Navarre

    Robert Mohr Guest

    Scott Navarre wrote:
    > Hi,
    >
    > I have Red Hat 8.0 and have the default Mozilla browser that comes with
    > it. I am programming in javascript and have come across something
    > problematic. Given the following code:
    > <HTML>
    > <HEAD>
    > </HEAD>
    > <BODY>
    > <FORM>
    > <INPUT TYPE="TEXT" NAME="input1">
    > <INPUT TYPE="BUTTON" VALUE="Click" onFocus="input2.focus()"
    > onClick="alert('You clcked me!')">
    > <INPUT TYPE="TEXT" NAME="input2">
    > </FORM>
    > </BODY>
    > </HTML>


    Mozilla doesn't know if you're referring to id 'input2', class 'input2'
    or name 'input2'. Use 'document.getElementById(input2).focus()'.
    --
    Robert Mohr

    -state.edu
     
    Robert Mohr, Feb 28, 2004
    #2
    1. Advertising

  3. On Sat, 28 Feb 2004 08:03:25 -0500, Robert Mohr <> wrote:

    > Scott Navarre wrote:


    [snip]

    >> <FORM>
    >> <INPUT TYPE="TEXT" NAME="input1">
    >> <INPUT TYPE="BUTTON" VALUE="Click" onFocus="input2.focus()"
    >> onClick="alert('You clcked me!')">
    >> <INPUT TYPE="TEXT" NAME="input2">
    >> </FORM>
    >> </BODY>
    >> </HTML>

    >
    > Mozilla doesn't know if you're referring to id 'input2', class 'input2'
    > or name 'input2'. Use 'document.getElementById(input2).focus()'.


    That wouldn't do much good. Even if you correctly specified the string
    literal 'input2' only IE, out of my four browsers, will return a reference
    to the third input element.

    It should be clear from the name that the getElementById method will only
    return a reference to an element with the given id attribute, not a
    matching name attribute.

    The controls exist within a form, so the simpler approach would be:

    onfocus="this.form.input2.focus();"

    However, if the sole purpose is to skip a control in the tabbing order,
    use the tabindex attribute:

    <input ... name="input1" tabindex="1">
    <input ... type="button" tabindex="0">
    <input ... name="input2" tabindex="2">

    Mike

    --
    Michael Winter
    d (replace ".invalid" with ".uk" to reply)
     
    Michael Winter, Feb 28, 2004
    #3
  4. Didn't help -- even if I use 'document.forms[0].elements[2].focus()', it
    behaves EXACTLY the same way.


    "Robert Mohr" <> wrote in message
    news:c1q45g$...
    > Scott Navarre wrote:
    > > Hi,
    > >
    > > I have Red Hat 8.0 and have the default Mozilla browser that comes

    with
    > > it. I am programming in javascript and have come across something
    > > problematic. Given the following code:
    > > <HTML>
    > > <HEAD>
    > > </HEAD>
    > > <BODY>
    > > <FORM>
    > > <INPUT TYPE="TEXT" NAME="input1">
    > > <INPUT TYPE="BUTTON" VALUE="Click" onFocus="input2.focus()"
    > > onClick="alert('You clcked me!')">
    > > <INPUT TYPE="TEXT" NAME="input2">
    > > </FORM>
    > > </BODY>
    > > </HTML>

    >
    > Mozilla doesn't know if you're referring to id 'input2', class 'input2'
    > or name 'input2'. Use 'document.getElementById(input2).focus()'.
    > --
    > Robert Mohr
    >
    > -state.edu
     
    Scott Navarre, Feb 28, 2004
    #4
  5. Scott Navarre wrote:
    > But when using Mozilla in RH8.0: when you tab to the button the cursor


    so upgrade... your html works fine with current Mozilla. Red Hat 8.0
    shipped with Mozilla 1.0.1, which (compared to current builds) was buggy.

    --
    ------------------------------------------------------------------
    Andrew Schultz | The views expressed might
    | not represent those of NCSU.
    http://www4.ncsu.edu/~ajschult/ | They are however, correct.
     
    Andrew Schultz, Feb 28, 2004
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jared
    Replies:
    1
    Views:
    712
    Harald Hein
    Jul 8, 2003
  2. AJ
    Replies:
    0
    Views:
    397
  3. Replies:
    2
    Views:
    3,307
    Malte
    Sep 1, 2005
  4. Avalon1178
    Replies:
    3
    Views:
    631
    Martin Honnen
    Sep 3, 2005
  5. Dave In Redmond

    Re: Update to Python 2.3 on Red Hat Linux 9

    Dave In Redmond, Aug 29, 2003, in forum: Python
    Replies:
    1
    Views:
    415
    Jay Bromley
    Aug 30, 2003
Loading...

Share This Page