Uploaded image for project: 'Struts 1'
  1. Struts 1
  2. STR-1709

FormTag: Add check for nonexistent form field in focus javascript

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.1.0
    • 1.3.10, 1.4.0
    • Tag Libraries
    • 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\") {");

      Attachments

        Activity

          People

            Unassigned Unassigned
            jonathangritzman@spherion.com Jonathan Gritzman
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: