26

I need to reload the page after the OK button is clicked on the Alert box. I am using the following code for it

alert("Successful Message");
window.location.reload();

But the window is reloaded immediately after displaying the alertbox. Please Help me in it

Nabeel Arshad
  • 261
  • 1
  • 3
  • 3

10 Answers10

67

Confirm gives you chance to click on cancel, and reload will not be done!

Instead, you can use something like this:

if(alert('Alert For your User!')){}
else    window.location.reload(); 

This will display alert to your user, and when he clicks OK, it will return false and reload will be done! :) Also, the shorter version:

if(!alert('Alert For your User!')){window.location.reload();}

I hope that this helped!? :)

Bojan Milic
  • 671
  • 5
  • 3
  • 5
    FYI. "if(!alert('Alert For your User!')){window.location.reload();}" this works, this should be marked as answer. – finnTheHumin Nov 11 '13 at 12:24
13

Use javascript confirm() method instead of alert. It returns true if the user clicked ok button and returns false when user clicked on cancel button. Sample code will look like this :

if(confirm('Successful Message')){
    window.location.reload();  
}
codeVerine
  • 742
  • 3
  • 14
  • 1
    I don't want a cancel button.. The page needed to be refreshed Just after clicking ok... Confirm will give the Cancel button too – Nabeel Arshad Jun 06 '13 at 13:01
8

Use a confirm box instead.

var r = confirm("Successful Message!");
if (r == true){
    window.location.reload();
}
ecraig12345
  • 2,328
  • 1
  • 19
  • 26
Deepak
  • 81
  • 1
6
alert('Alert For your User!') ? "" : location.reload();

You can write above code in this format also.It seems quite decent

Sobin Sunny
  • 1,121
  • 10
  • 14
2

Bojan Milic answer work in a way but it error out with a message below,

enter image description here

This can be avoid with,

function message() 
{
alert("Successful message");
window.location = 'url_Of_Redirected_Page' // i.e. window.location='default.aspx'
}
Denn
  • 453
  • 1
  • 5
  • 11
0

As the alert method in JavaScript does not return a Boolean or yield the current thread, you must use a different method.

My number one recommendation requires a little CSS experience. You should instead create a div element that is fixed positionally.

Otherwise you could use the confirm() method.

confirm("Successful Message");
window.location.reload();

However, this will add a cancel button. Because the confirm method is not within an if statement though, the cancel button will still refresh the page like you want it.

CHess
  • 422
  • 5
  • 14
0

Interesting that Firefox will stop further processing of JavaScript after the relocate function. Chrome and IE will continue to display any other alerts and then reload the page. Try it:

<script type="text/javascript">
    alert('foo');
    window.location.reload(true);
    alert('bar');
    window.location.reload(true);
    alert('foobar');
    window.location.reload(true);
</script>
0

Try this:

alert("Successful Message");
location.reload();
The Codesee
  • 3,714
  • 5
  • 38
  • 78
0

I may be wrong here but I had the same problem, after spending more time than I'm proud of I realised I had set chrome to block all pop ups and hence kept reloading without showing me the alert box. So close your window and open the page again.

If that doesn't work then you problem might be something deeper because all the solutions already given should work.

James Fenwick
  • 2,190
  • 1
  • 20
  • 30
glenn ferns
  • 117
  • 6
0

Try this code..

IN PHP Code

echo "<script type='text/javascript'>".
      "alert('Success to add the task to a project.');
       location.reload;".
     "</script>";

IN Javascript

function refresh()
{
    alert("click ok to refresh  page");
    location.reload();
}