By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,380 Members | 1,621 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,380 IT Pros & Developers. It's quick & easy.

Is it a bug?

P: n/a
Hi,

The following page's JavaScript does not work in Netscape 7.1/
Mozilla 1.3+ (that is, an image does NOT appear if one chooses
a keyboard layout):
http://www.microsoft.com/globaldev/r...keyboards.aspx

Is it a bug in Netscape/Mozilla JavaScript implementation?

--
Regards,
Paul Gorodyansky
"Cyrillic (Russian): instructions for Windows and Internet":
http://ourworld.compuserve.com/homepages/PaulGor/
Jul 20 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Paul Gorodyansky <pa*****@compuserve.com> writes:
The following page's JavaScript does not work in Netscape 7.1/
Mozilla 1.3+ (that is, an image does NOT appear if one chooses
a keyboard layout):
http://www.microsoft.com/globaldev/r...keyboards.aspx

Is it a bug in Netscape/Mozilla JavaScript implementation?


Why would you think it is a bug in the browser, and not in the javascript
code itself? Which is more likely?

It is a bug in the Javascript code. It is an accident if it works in
any browser (IE is known to be very accident prone).

More precisely, the error is in the line:
onChange="chooseKeyboard(document.choose.state.opt ions[state.selectedIndex].value)"

Some browsers allow you to refer to named forms as properties of the
document area. It is still not as safe an assumption as writing
document.forms['choose']
Some browsers also allow toy to refer to form elements as properties
of the form. It is safer to use the "elementes" collection.

Very few browsers allow you to access named form elements as properties
of the global object. That is what the above line tries:
state.selectedIndex
There is no global variable called "state". What should be writte is:

onchange="var select=document.forms['choose'].elements['state'];
chooseKeyboard(select.options[select.selectedIndex].value);"

Then it will work in other browsers than IE.
/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 20 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.