469,649 Members | 1,202 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,649 developers. It's quick & easy.

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

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
Jul 20 '05 #1
4 2182
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
mo*****@osu.edu
mo***@cis.ohio-state.edu
Jul 20 '05 #2
On Sat, 28 Feb 2004 08:03:25 -0500, Robert Mohr <mo*****@osu.edu> 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
M.******@blueyonder.co.invalid (replace ".invalid" with ".uk" to reply)
Jul 20 '05 #3
Didn't help -- even if I use 'document.forms[0].elements[2].focus()', it
behaves EXACTLY the same way.
"Robert Mohr" <mo*****@osu.edu> wrote in message
news:c1*********@ripley.netscape.com...
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
mo*****@osu.edu
mo***@cis.ohio-state.edu

Jul 20 '05 #4
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
aj******@eos.ncsu.edu | not represent those of NCSU.
http://www4.ncsu.edu/~ajschult/ | They are however, correct.
Jul 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Rich Morey | last post: by
1 post views Thread by Michael Albanese | last post: by
2 posts views Thread by Paresh Shah | last post: by
8 posts views Thread by Yeah | last post: by
2 posts views Thread by Jonathan N. Little | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.