Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Back button

Posted on 2000-05-05
11
Medium Priority
?
206 Views
Last Modified: 2013-12-25
How can I prevent a user from using the back button?

I have a registration page, when registered I don't won't them pressing the back button and doing it again!

Any ideas?
0
Comment
Question by:mshire
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
11 Comments
 
LVL 2

Expert Comment

by:Jagar
ID: 2781928
You can't
0
 
LVL 3

Expert Comment

by:bark10
ID: 2781990
Jagar is right, there is no way you can STOP them from using the back button.  

The best you can do warn them about what they are doing.  Maybe using onbeforeunload() you could give them a choice as to if they really want to leave.

Or, make the registration page a seperate pop-up window with no buttons or bars at all except for the submit button that closes the window on submit.
0
 
LVL 2

Expert Comment

by:READER
ID: 2783206
Open the registration page with the back button disabled.

Here is how to do:

(1) Put following Javascript in your header section
 
<script language="JavaScript">
<!--
 function openNewWindow(url){
  window.open(url,"NewWindow","width=625,height=320,status,menubar,
scrollbars, toolbar,resizable,directories");
  }
// --></script>


(2)  Put following around your HREF tags for registration page

                 javascript:openNewWindow(' URL ')


                   Here's an example.........

                 href="javascript:openNewWindow('http://xxxxxxxx.com')"

   
0
CHALLENGE LAB: Troubleshooting Connectivity Issues

Goal: Fix the connectivity issue in the lab's AWS environment so that you can SSH into the provided EC2 instance.  

 
LVL 11

Expert Comment

by:mouatts
ID: 2784695
As has been said before you can't stop them pressing the button, except by opening a new window without any buttons on it.

However you can negate them pressing a back button. Assuming that they are on Page A move to Page C and you don't want them to go back to A.

What you actually do is when they leave Page A they go to page B which is just a redirection to page C.

Now if they press back they will go to B which pushes them back to C immediately.

further details are available at http://www.bedrockcomputers.demoin.co.uk/faq.html

HTH
Steve
0
 

Author Comment

by:mshire
ID: 2785388
Yeah that sounds like a good idea... if they press the back button after registering, it would load the previous page, find out they are already registered and redirect them. But how do I get the page to refresh even after pressing the back button (the <meta HTTP-EQUIV="EXPIRES" content="0"> doesn't seem to work always)

Thanks,

Mike

PS mouatts - that link didn't seem to work...
0
 
LVL 2

Expert Comment

by:READER
ID: 2786069
To get a page to refresh every time include the following meta tag in your headers.

<meta http-equiv="Pragma" content="no-cache;>
0
 
LVL 11

Expert Comment

by:mouatts
ID: 2788066
Reader is correct that you should use pragma nocache to refresh a page. But to do a redirection you should use the Location Message (from HTTP) or refresh with a 0 type from a META tag. ie

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://mydomain.com/myfile.html">

But if this redirection is out of a CGI then you should use the following

printf("Location: www.mydomain.com/myfile.html \n\n");

(thats suitable for C and Perl and for ASP

response.redirect("myfile.html")

Sorry about the link it should be http://www.bedrockcomputers.demon.co.uk/faq.html

0
 
LVL 11

Expert Comment

by:mouatts
ID: 2815976
Did that solve your problem.

Steve
0
 

Accepted Solution

by:
Ironwolf earned 200 total points
ID: 2892837
If you put this code on the top of your registration page:

<script language=JavaScript>
      history.forward()
</script>

then every time they go back to this page, using the back button, a right click, alt+backArrow, or any other method, it will automatically push them forward to the page they came from.

You can put this on every page of your web if you want them to only be able to navigate your page through the links.

This method is very effective when you have a data-driven web where the data is constantly updated and you want to make sure it is refreshed upon each viewing.

-IW
0
 
LVL 11

Expert Comment

by:mouatts
ID: 2918190
Ironwolf: Did you really have to post this as an answer! BTW turn off javascript and it fails.
0
 

Expert Comment

by:lankford
ID: 103422
Not that anyone will care, but if you code the page as an hta instead of regular html, back will simply be disabled as a feature in the user's browser.

This, of course, brings lots of other issues to the table.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There’s a good reason for why it’s called a homepage – it closely resembles that of a physical house and the only real difference is that it’s online. Your website’s homepage is where people come to visit you. It’s the family room of your website wh…
Dramatic changes are revolutionizing how we build and use technology. Every company is automating, digitizing, and modernizing operations. We need a better, more connected way to work together as teams so we can harness the insights from our system…
The viewer will learn how to dynamically set the form action using jQuery.
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…
Suggested Courses

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question