473,387 Members | 1,535 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

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!
Jul 20 '05 #1
6 1925


John wrote:

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. What's the most effective way to prevent a user from going back and
changing things after they click my "Finish" button?


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

Thor

--
http://thorweb.anta.net/
Jul 20 '05 #2
In article <48*************************@posting.google.com> in
comp.infosystems.www.authoring.html, John <jr****@dos.state.ny.us>
wrote:
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.


Sure thing. Here's the best working solution:

<p><strong>Caution:</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
http://OakRoadSystems.com/
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/
Jul 20 '05 #3
Stan Brown <th************@fastmail.fm> wrote:
Sure thing. Here's the best working solution:

<p><strong>Caution:</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>


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, mc****@stanfordalumni.org, http://www.rahul.net/mcgrew/
Web Design Group, da***@htmlhelp.com, http://www.HTMLHelp.com/

aquapella /"a-kw&-'pe-l&/ adj. sung in the shower
Jul 20 '05 #4
On Mon, 6 Oct 2003, Darin McGrew wrote:
Stan Brown <th************@fastmail.fm> wrote:
Sure thing. Here's the best working solution:

<p><strong>Caution:</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>
I'd say that's a workaround, not a solution.


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 misunderstanding (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?)
The solution is to fix the server-side programs so they recognize
that a transaction has been completed,


Indeed.
Jul 20 '05 #5
In article <MP************************@news.odyssey.net> in
comp.infosystems.www.authoring.html, Stan Brown
<th************@fastmail.fm> wrote:
In article <48*************************@posting.google.com> in
comp.infosystems.www.authoring.html, John <jr****@dos.state.ny.us>
wrote:
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.


Sure thing. Here's the best working solution:

<p><strong>Caution:</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>


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
http://OakRoadSystems.com/
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/
Jul 20 '05 #6
Sometime around Tue, 7 Oct 2003 22:20:11 -0400, Stan Brown is reported to
have stated:
In article <MP************************@news.odyssey.net> in
comp.infosystems.www.authoring.html, Stan Brown
<th************@fastmail.fm> wrote:

Sure thing. Here's the best working solution:

<p><strong>Caution:</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>


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.


Simple - you forgot the smileys! :-)

--
Mark Parnell
http://www.clarkecomputers.com.au
Jul 20 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Robin Shuff | last post by:
Hi, I'm trying to limit the movement of the mouse cursor in using a VB app. The idea is to stop the cursor straying on to the second monitor of a dual screen set-up (i.e. a projector) while this...
1
by: Rocky A | last post by:
I don't remember ever reading about this in any of the "how to" books I've got or I wouldn't bother you guys (honest, I'm not being lazy here.....OK maybe just a little, but you guys are SOOOO...
8
by: Charley Kyd | last post by:
I'd like to learn how to use VS.NET as though it were Excel VBA, with the goal of creating a compiled Excel addin. That is, I'd like... ....all forms to belong to the Excel environment. ....the...
2
by: tim | last post by:
Hi all, I'm almost as new to this list as to python so I hope I don't get a "this has been answered a 100 times before" or anything... Currently I am using a program named 'Macro Scheduler' for...
8
by: GaryDean | last post by:
We have been noticing that questions on vs.2005/2.0 don't appear to get much in answers so I'm reposting some questions posted by some of the programmers here in our organization that never got...
1
by: sircool | last post by:
hi guys, the problemm is that you have a horse on the chess board.You should write a function that calculate the horse's movement.I mean how many movement later you can go every point on the board.I...
4
by: bluesteel | last post by:
Hi, guys. I am currently trying to develop a program made under c++ that could control a robot, i mean movement. I thought of using computer ports like serial or parallel which is not a bad idea....
0
by: KENNETH LAM | last post by:
Dear all, I am new in java. I would like to write a servlet to allow first user controlling the PDF file movement after the second user read the same PDF on the web (for example: control next...
4
by: mike | last post by:
I have the opportunity to rescue a project that uses a mouse to sense the relative position of a machine. The hardware is built...just needs to be programmed. Stop snickering!!! I didn't do it...I...
5
by: hurricane_number_one | last post by:
I am creating a simple server application, that will listen for incoming mouse coordinates and then move the mouse accordingly. So basically it's like a very simple VNC server without and screen...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.