Struts HTML taglib's select element doesn't support proper onfocus events in IE7
--------------------------------------------------------------------------------
Key: STR-3006
URL: https://issues.apache.org/struts/browse/STR-3006
Project: Struts 1
Issue Type: Bug
Components: Taglibs
Affects Versions: 1.3.6, 1.3.5, 1.2.9, 1.2.8, 1.2.7, 1.2.6 Beta, 1.2.4,
1.2.2, 1.1.1, 1.0.2, 1.0.1 Final, 1.0.1, 1.0 Final, 1.3.7, 1.4.0
Environment: Any
Reporter: Frank W. Zammetti
Priority: Minor
Attachments: BaseHandlerTag.java, struts-html.tld
There is a known issue with IE7 and the plain <select> input element... let's
say for example you have this:
<html>
<head>
<title></title>
</head>
<body>
<select onFocus="this.style.backgroundColor='#ff0000';">
<option value="1">1</option>
<option value="2">2</option>
</select>
</body>
</html>
In IE7, when you click on the dropdown arrow, the list of items will not
immediately show up, you need to click it twice. This is due to the onFocus
handler being attached. This is a known issue with IE. The solution is to
simply add an onFocusIn handler which (usually) mimics the onFocus handler.
However, in Struts 1, because the HTML taglib does not allow arbitrary
attributes (something I believe it should, and I said as much on a BugZilla
ticket which I can't seem to find in JIRA now, and along with it I suggested
adding a strictHTML attribute, which would default to true, to allow (false)
or disallow (true) arbitrary attributes), you cannot properly deal with this
issue at present if you use the HTML taglib.
Attached please find two updated files, BaseHandlerTag.java and
struts-html.tld, which adds support for the onfocusin attribute.
I marked this as Minor, but for those of us dealing with this issue right now,
it's more like a Major :) I also consider it a bug since I don't see any
viable work-around (someone can correct me if I'm wrong... and yes, not using
the HTML taglib is I suppose a valid answer, but I'd be looking for something
else)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.