Tapestry
  1. Tapestry
  2. TAPESTRY-678

LinkSubmit does not work correctly when the browser's back button is used and the form resubmitted normally

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0
    • Fix Version/s: 4.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      4.0b7

      Description

      Hello,

      I have a Form with 2 LinkSubmits, A and B.
      1. I click B, it works correctly
      2. I press the BACK button
      3. I click A, but it acts as I would have clicked B

      The browser seems to cache the value of the hidden fields associated with the LinkSubmits. When I go back, the hidden field of B already contains the 'T' value. In 3. the hidden field of A is set to the value 'T', too.

      This causes two LinkSubmits to be triggered. I checked it, the request parameter of both LinkSubmits contains 'T'.
      Because of this both LinkSubmits' listeners are triggered.

      Possible resolution: clear the value of the hidden fields in an initialization script.

      BR,
      Norbi

        Issue Links

          Activity

          Hide
          Nick Westgate added a comment -

          The same problem existed in T3, logged as issue:
          http://issues.apache.org/jira/browse/TAPESTRY-339

          Seems with T4 LinkSubmit has been rewritten, but
          not addressing the several issues (with solutions)
          already logged against it.

          Show
          Nick Westgate added a comment - The same problem existed in T3, logged as issue: http://issues.apache.org/jira/browse/TAPESTRY-339 Seems with T4 LinkSubmit has been rewritten, but not addressing the several issues (with solutions) already logged against it.
          Hide
          Howard M. Lewis Ship added a comment -

          The fix brought it back very closely to Richard (Lewis-Shell)'s original design; I moved some of the logic over into the FormSupportImpl class, however, and made the client-side JavaScript inside Form.js do more of the work.

          I built a test to verify that is was broken as described, then retested with the new code to ensure that the fix works, so my confidence is very high.

          Show
          Howard M. Lewis Ship added a comment - The fix brought it back very closely to Richard (Lewis-Shell)'s original design; I moved some of the logic over into the FormSupportImpl class, however, and made the client-side JavaScript inside Form.js do more of the work. I built a test to verify that is was broken as described, then retested with the new code to ensure that the fix works, so my confidence is very high.

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Norbert Sándor
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development