5

This bit of code used to work, and now it doesn't:

var url = myurl +'?id=' + id + '&phase=' + phase;
window.location = url;

Using the IE dev toolbar I've verified that url has a valid url, and window.location returns the new url...the only problem is the page does not reload.

Does anyone know of any reasons for window.location to now actually load a new document when it is assigned to?

IronicMuffin
  • 4,182
  • 12
  • 47
  • 90

5 Answers5

13

Use window.location.href = url; instead.

Nick
  • 171
  • 7
  • No javascript errors. This was working for me before, and I'm not sure what changed to cause it to stop. – IronicMuffin Jul 20 '11 at 15:48
  • "This was working for me before, and I'm not sure what changed..." - figure out what changed. It was NOT this code, I'm guessing. – James Jul 20 '11 at 19:13
4

Is your JavaScript running the onclick event from an <input> type="button" or type="submit"?

If your button is type="submit" it won't work unless you stop the submission from executing.

I know this is kind of obvious but I didn't see this in the other comments so I might just add to this thread.

Manolo
  • 41
  • 1
  • 1
1

So i just got this same error today, I for some reason couldn't get my page to redirect to google (just for testing purposes). Copied the code directly from another site and it worked, so i tried google.com again - low and behold it didn't work...

I should also mention that i'm trying to redirect a page in an iframe, not the entire webpage.

So I fired up my trusty Max's HTML Beauty++ 2004 and opened my page in that, sure enough it gave me my error:

This content cannot be displayed in a frame

 To help protect the security of information you enter into this  
 website, the publisher of this content does not allow it to be
 displayed in a frame.

The code i Used to get that:

window.location = "http://www.google.com";  

It looks like browsers don't display this error, instead they just don't redirect you... Kind of confusing :/

Community
  • 1
  • 1
William
  • 11
  • 1
0

I was using jquery, and a similar problem cropped up and I had to resolve it by adding the data-ajax=false attribute to the <a href="... link.

Sudipta Chatterjee
  • 4,592
  • 1
  • 27
  • 30
-1

Thanks to @Senad Meskin.

document.location = url;

worked for me. Any reason why window would stop working?

Community
  • 1
  • 1
IronicMuffin
  • 4,182
  • 12
  • 47
  • 90
  • 2
    No, but document.location is not cross-browser either, since originally it was read-only. You probably won't hit any issues, but you may want to research more on why it isn't running. – Jordan Jul 20 '11 at 15:21