Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-4016

Error when submitting an Ajax request for an element without an ID

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.17
    • 2.2.9
    • None
    • None

    Description

      When submitting an Ajax request that was triggered by an element with a name, but without an ID, a Javascript error will be thrown in the nodeIdOrName() function in _Dom.js.

      The code calls the getElementsByName() function on "this", which throws an error that getElementsByName() is not defined for "this". It should call document.getElementsByName(), same as the byIdOrName() function.

      251 //last check for uniqueness
      252 if (this.getElementsByName(elementId).length > 1)

      { 253 //no unique element name so we need to perform 254 //a return null to let the caller deal with this issue 255 return null; 256 }

      This was noticed when using the ICEfaces 3.3 data table in their compatibility component suite, which uses hidden fields without IDs to submit the selection of rows.

      If you want an example that reproduces this error I can create one, but I think static analysis of the code is sufficient in this case.

      The problem is also present in trunk.

      Attachments

        1. myfaces-4016.diff
          0.7 kB
          Leon Steffens

        Activity

          People

            Unassigned Unassigned
            leonsteffens Leon Steffens
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: