Question

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?

Was it helpful?

Solution

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
}

OTHER TIPS

What do you mean by "make sure"?

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

redirects user after they click OK in the alert window.

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

I think what you need is this :

if(confirm("Do u want to continue?")) {
    window.location.href = "/some/url"
}

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

alert('blah blah');
location.href = '....';

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
                }
            }
        }); 
Response.Write("<script Response.Write("<script 
language='javascript'>window.alert('Done');window.location='URL';</script>");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top