Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 475
  • Last Modified:

Prevent a visitor from navigating away from curent page

Hello and good day,

I have a web page with a html form in it.
The form has some mandatory fields too with submit button.
Now this is what i wanna achieve...
If a visitor arrives on this form page and tries to leave the page without submitting the form (either by typing a new url in address bar or by clicking back button) then the visitor should be prevented from navigating away from the form by displaying a small css html window (NOT the typical Javascript alert) with a message asking if visitor needs any assistance with a text area and 2 buttons (Yes button and Navigate away button). If he presses yes button then all that he types in the textarea will be submitted to website admin and if he wishes to navigate away from page he can by clicking on Navigate away button.

Can this be done?
If yes can you please upload a complete working code (a basic code at least)
Thanks
kansun
0
kansun
Asked:
kansun
  • 6
  • 4
  • 3
  • +3
5 Solutions
 
leakim971PluritechnicianCommented:
>Can this be done?

Not really.
Do you want something working 100% of time?
0
 
Darrell PorterEnterprise Business Process ArchitectCommented:
<script language="JavaScript">
  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
    return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
  }
</script>

from

http://www.4guysfromrolla.com/demos/OnBeforeUnloadDemo1.htm?name=&age=

Modify the function to call the render the appropriate window
0
 
leakim971PluritechnicianCommented:
@WalkaboutTigger :

small css html window (NOT the typical Javascript alert)
0
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

 
leakim971PluritechnicianCommented:
additionaly onbeforeunload don't work on all browsers.
0
 
moagriusCommented:
you can only use the traditional javascript modal dialog - you can't customize it.  the event is window.onbeforeunload, which is managed by the browser (and there's nothing you can do about it), but is the only thing that can interrupt a page exit.

here's a little info on it:  http://upshots.org/javascript/window-onbeforeunload
0
 
HagayMandelCommented:
It's the worst user experience you can provide!!
Do the best you can to attract visitors, but don't try to prevent them from navigating away!
0
 
BadotzCommented:
You cannot force the user to do anything. If you make it difficult to leave, my guess is they will not be back.
0
 
kansunAuthor Commented:
Hi My friends,
I expected a solution. But i just got few advices here.
:-)) Can anyone provide a soln for this.... thx
0
 
BadotzCommented:
>>I expected a solution.

You cannot prevent the user from leaving your page. Worst case, she will close the browser window and never return to your site.

You can train your users on the proper way to exit your page, and explain the consequences for not doing so.
0
 
moagriusCommented:
Badotz is correct.  Sometimes the answer is that there is no solution.

You can only interrupt page exit using window.onbeforeunload.  Doing so will result in a browser-generated modal dialog.  This cannot be replaced with an HTML fragment.

There's no other answer.
0
 
BadotzCommented:
And onbeforeunload may not be supported in all browsers.
0
 
kansunAuthor Commented:
I've requested that this question be deleted for the following reason:

no answers
0
 
BadotzCommented:
The answer is, "You cannot prevent the user from leaving."

What more do you want?

0
 
leakim971PluritechnicianCommented:
99% of time for this question the member want a << solution >> not a << right answer >>...


0
 
BadotzCommented:
<waiting_for_the_envelope>
...and the solution is...
</waiting_for_the_envelope>
0
 
kansunAuthor Commented:
thank you
0
 
Darrell PorterEnterprise Business Process ArchitectCommented:
There are no US-legal solutions to your question, unless you control the machine from which the user is browsing (like a kiosk machine).  I presumed from your question, however, that this was not the case.
0
 
BadotzCommented:
>>unless you control the machine from which the user is browsing (like a kiosk machine)

So, what is the "solution" in that case?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

  • 6
  • 4
  • 3
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now