DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22700>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22700

Setting focus to a form field that doesn't exist causes javascript error on loading 
the page

           Summary: Setting focus to a form field that doesn't exist causes
                    javascript error on loading the page
           Product: Struts
           Version: 1.1 Final
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Custom Tags
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


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\") {");

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to