62

I need to make sure that when the user clicks OK in a JavaScript alert window, the browser moves to a different URL. Is this possible?

J4GD33P 51NGH
  • 630
  • 1
  • 8
  • 24
Ondrej
  • 1,610
  • 3
  • 19
  • 34

8 Answers8

80

What do you mean by "make sure"?

alert('message');
window.location = '/some/url';

redirects user after they click OK in the alert window.

penartur
  • 9,792
  • 5
  • 39
  • 50
54

I suspect you mean in a confirm window (ie. Yes/No options).

if (window.confirm('Really go to another page?'))
{
    // They clicked Yes
}
else
{
    // They clicked no
}
Joe
  • 15,669
  • 4
  • 48
  • 83
20

An alert does not return a value, in fact returns undefined so the easiest way I find right now is conditioning the alert like this

if(!alert("my text here")) document.location = 'http://stackoverflow.com/';

A better way is using confirm() javascript function like this

if(confirm("my text here")) document.location = 'http://stackoverflow.com/';

Another option is making your own alert of course

David Diez
  • 1,165
  • 1
  • 11
  • 23
15

I think what you need is this :

if(confirm("Do u want to continue?")) {
    window.location.href = "/some/url"
}
Subodh
  • 2,204
  • 18
  • 22
7

Yes, simply redirect right after the alert() call:

alert('blah blah');
location.href = '....';
ThiefMaster
  • 310,957
  • 84
  • 592
  • 636
2

If it is for accessibility and you want to listen to every link on the page and than check if you are leaving the current site to another domain, check out what I wrote, expanding on Joe's answer

        $('a').on('click', function() {

            if ( this.host !== window.location.host ) {
                if ( window.confirm('Really go to another page?') ) {
                    // They clicked Yes
                    console.log('you chose to leave. bye.');
                }
                else {
                    // They clicked no
                    console.log('you chose to stay here.');
                    return false
                }
            }
        }); 
yotke
  • 1,170
  • 2
  • 12
  • 26
1

In my case, reload was also needed.

alert('your message');
window.location = '/yoururl';
window.location.reload();
Esteban
  • 101
  • 3
  • 6
0
Response.Write("<script Response.Write("<script 
language='javascript'>window.alert('Done');window.location='URL';</script>");