Dylan Buth
Dylan Buth

Reputation: 1666

Redirecting on confirm true

I want to make it so the user clicks a link, they get a confirm box. If they click OK, they get sent to a new php function.

I've tried:

function confirmReset() {
 var r = confirm('Are you sure?');
 var url = window.location.pathname;
 var pathArray = url.split('/');
 var host = pathArray[1];
 var newHost = '/headquarters/designReset';

 if (r == true) {
    window.location = host + newHost;
    //document.location.href = '/headquarters/designReset';
 } else {
    alert('it didnt work');
 }
 return false;
}​

Firebug error says:

SyntaxError: illegal character
}​

It's saying that ​ is after the } at the end of the function. I'm getting this script externally so if you post an answer make sure it works externally. Not just in the html file itself. Ive had answers that dont. Thanks!

Upvotes: 2

Views: 14647

Answers (1)

VisioN
VisioN

Reputation: 145388

There is no string method. It gives an error. Also consider adding return false to your function in order to prevent the default link action.

HTML:

<a href="#" onclick="return confirmReset();">Test</a>​

JavaScript:

function confirmReset() {
    var r = confirm('Are you sure?');
    var url = window.location.pathname;
    var pathArray = url.split('/');        // <-- no need in "string()"
    var host = pathArray[1];
    var newHost = '/headquarters/designReset';

    if (r == true) {
        window.location = host + newHost;
        //document.location.href = '/headquarters/designReset';
    } else {
        alert('it didnt work');
    }
    return false;                          // <-- add this line
}​

DEMO: http://jsfiddle.net/xKhaq/

Upvotes: 4

Related Questions