Controlling backward movement

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John

    Controlling backward movement

    I'm designing a "wizard" style set of pages using HTML and JavaScript,
    to collect information from the user. Once "Finish" is clicked, I
    want to display some sort of confirmation screen that the wizard is
    complete. It's important that the user not be able to go back after
    this point because it's going to throw things into an inconsistent
    state.

    What's the most effective way to prevent a user from going back and
    changing things after they click my "Finish" button? If you can
    provide code samples, that would be very helpful.

    Thank you very much!
  • Thor Kottelin

    #2
    Re: Controlling backward movement



    John wrote:[color=blue]
    >
    > I'm designing a "wizard" style set of pages using HTML and JavaScript,
    > to collect information from the user. Once "Finish" is clicked, I
    > want to display some sort of confirmation screen that the wizard is
    > complete.[/color]
    [color=blue]
    > What's the most effective way to prevent a user from going back and
    > changing things after they click my "Finish" button?[/color]

    A server-side application. It doesn't make sense to ask the client to
    prevent itself from doing what it wants.

    Thor

    --

    Comment

    • Stan Brown

      #3
      Re: Controlling backward movement

      In article <484258b9.03100 61131.b0989a5@p osting.google.c om> in
      comp.infosystem s.www.authoring.html, John <jrager@dos.sta te.ny.us>
      wrote:[color=blue]
      >I'm designing a "wizard" style set of pages using HTML and JavaScript,
      >to collect information from the user. Once "Finish" is clicked, I
      >want to display some sort of confirmation screen that the wizard is
      >complete. It's important that the user not be able to go back after
      >this point because it's going to throw things into an inconsistent
      >state.
      >
      >What's the most effective way to prevent a user from going back and
      >changing things after they click my "Finish" button? If you can
      >provide code samples, that would be very helpful.[/color]

      Sure thing. Here's the best working solution:

      <p><strong>Caut ion:</strong>
      Once you click "Finish", please <strong>do not use your browser's
      "back" button</strong> because it will mess up state information
      stored temporarily on the server to process your request.</p>

      --
      Stan Brown, Oak Road Systems, Cortland County, New York, USA

      HTML 4.01 spec: http://www.w3.org/TR/html401/
      validator: http://validator.w3.org/
      CSS 2 spec: http://www.w3.org/TR/REC-CSS2/
      2.1 changes: http://www.w3.org/TR/CSS21/changes.html
      validator: http://jigsaw.w3.org/css-validator/

      Comment

      • Darin McGrew

        #4
        Re: Controlling backward movement

        Stan Brown <the_stan_brown @fastmail.fm> wrote:[color=blue]
        > Sure thing. Here's the best working solution:
        >
        > <p><strong>Caut ion:</strong>
        > Once you click "Finish", please <strong>do not use your browser's
        > "back" button</strong> because it will mess up state information
        > stored temporarily on the server to process your request.</p>[/color]

        I'd say that's a workaround, not a solution. The solution is to fix the
        server-side programs so they recognize that a transaction has been
        completed, and then refuse to process resubmitted data that would modify
        that transaction.
        --
        Darin McGrew, mcgrew@stanford alumni.org, http://www.rahul.net/mcgrew/
        Web Design Group, darin@htmlhelp. com, http://www.HTMLHelp.com/

        aquapella /"a-kw&-'pe-l&/ adj. sung in the shower

        Comment

        • Alan J. Flavell

          #5
          Re: Controlling backward movement

          On Mon, 6 Oct 2003, Darin McGrew wrote:
          [color=blue]
          > Stan Brown <the_stan_brown @fastmail.fm> wrote:[color=green]
          > > Sure thing. Here's the best working solution:
          > >
          > > <p><strong>Caut ion:</strong>
          > > Once you click "Finish", please <strong>do not use your browser's
          > > "back" button</strong> because it will mess up state information
          > > stored temporarily on the server to process your request.</p>[/color]
          >
          > I'd say that's a workaround, not a solution.[/color]

          Sorry, but I'd have to say it's neither.

          To the original question: it's pointless to try to control the
          uncontrollable: so one certainly has to design the server-side process
          (the only part we can control) so that it behaves "properly" in spite
          of abuse from the client side. So that's where the defence against
          both abuse (by malicious users) and misunderstandin g (by well-
          intentioned users who have misunderstood the process) has to be
          located.

          Once that's done, there's no call for a "workaround " in the technical
          sense, but it can nevertheless be useful and courteous to inform the
          users about what they are supposed to do - or not to do. Perhaps I'm
          being pedantic, but I wouldn't term that as a "workaround ", but rather
          as user documentation. (Of course the normal operation of any user
          interface is supposed to be self-evident, but there always seems to be
          someone who has a better idea of what they're supposed to do with it
          than the designer themself, what?)
          [color=blue]
          > The solution is to fix the server-side programs so they recognize
          > that a transaction has been completed,[/color]

          Indeed.

          Comment

          • Stan Brown

            #6
            Re: Controlling backward movement

            In article <MPG.19eba80bf2 9ec2ab98b4f0@ne ws.odyssey.net> in
            comp.infosystem s.www.authoring.html, Stan Brown
            <the_stan_brown @fastmail.fm> wrote:[color=blue]
            >In article <484258b9.03100 61131.b0989a5@p osting.google.c om> in
            >comp.infosyste ms.www.authoring.html, John <jrager@dos.sta te.ny.us>
            >wrote:[color=green]
            >>What's the most effective way to prevent a user from going back and
            >>changing things after they click my "Finish" button? If you can
            >>provide code samples, that would be very helpful.[/color]
            >
            >Sure thing. Here's the best working solution:
            >
            ><p><strong>Cau tion:</strong>
            >Once you click "Finish", please <strong>do not use your browser's
            >"back" button</strong> because it will mess up state information
            >stored temporarily on the server to process your request.</p>[/color]

            I thought it was obvious that I was not proposing a serious
            solution. Obviously it was not obvious. :-) I really should know
            better about posting that sort of thing to Usenet without _explicit_
            indication what I mean.

            --
            Stan Brown, Oak Road Systems, Cortland County, New York, USA

            HTML 4.01 spec: http://www.w3.org/TR/html401/
            validator: http://validator.w3.org/
            CSS 2 spec: http://www.w3.org/TR/REC-CSS2/
            2.1 changes: http://www.w3.org/TR/CSS21/changes.html
            validator: http://jigsaw.w3.org/css-validator/

            Comment

            • Mark Parnell

              #7
              Re: Controlling backward movement

              Sometime around Tue, 7 Oct 2003 22:20:11 -0400, Stan Brown is reported to
              have stated:
              [color=blue]
              > In article <MPG.19eba80bf2 9ec2ab98b4f0@ne ws.odyssey.net> in
              > comp.infosystem s.www.authoring.html, Stan Brown
              > <the_stan_brown @fastmail.fm> wrote:[color=green]
              >>
              >>Sure thing. Here's the best working solution:
              >>
              >><p><strong>Ca ution:</strong>
              >>Once you click "Finish", please <strong>do not use your browser's
              >>"back" button</strong> because it will mess up state information
              >>stored temporarily on the server to process your request.</p>[/color]
              >
              > I thought it was obvious that I was not proposing a serious
              > solution. Obviously it was not obvious. :-) I really should know
              > better about posting that sort of thing to Usenet without _explicit_
              > indication what I mean.[/color]

              Simple - you forgot the smileys! :-)

              --
              Mark Parnell

              Comment

              Working...