Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.1.0
-
None
-
Operating System: other
Platform: Other
-
22700
Description
After processing the <html:form> tag, some javascript is displayed to force the
focus to one of the components in the form. However, it is possible that the
form field may not exist or may become a label if a user doesn't have modify
access to the field. In this case a javacript error of 'Object Not Found' is
displayed in a dialog box when the page is loaded.
The existing javascript focuses into the form field provided the field isn't hidden.
However, an additional check should be performed to ensure that the form field
exists. Only then (in addition to the field not being hidden) should the
javascript move the focus to the field.
Resolution
----------
In the FormTag's doEndTag() method a call is made to renderFocusJavascript().
The renderFocusJavascript() method does the following:
results.append(" if (focusControl.type != \"hidden\") {");
Change this to:
// Was previously setting the focus to the first text component
// if it wasn't a hidden field.
// Add an extra check to verify that the field exists.
results.append(" if (! focusControl.type === undefined && ");
results.append(" focusControl.type != \"hidden\") {");