关于Javascript:Redirect using Jquery

Redirect Using jQuery

本问题已经有最佳答案,请猛点这里访问。

所以我正在使用jquerymobile创建一个应用程序。我有一个链接,如果所有的验证都通过了,我想进行验证,但是如果失败了,我想重定向。

在jQuery中,像这样。因为它是jquerymobile,所以链接将是同一index.html页面上的一个新的DIV,如果这有帮助的话。

1
2
3
4
$(#link).click(function(){  
  if(validation_fails) link_elsewhere;  
  else return true;
}


您可以使用javascript的本机window.location

1
2
3
4
5
6
7
8
9
$('#link').click(function(){  

    if(validation_fails) {
        window.location="http://this.site.com/";
    }
    else {
        return true;
    }
}

可以使用window.location重定向浏览器:

https://developer.mozilla.org/en/dom/window.location网站


1
2
3
4
5
6
$(#link).click(function(){  
  if(validation_fails){
    var loc = window.location;
    window.location = loc.protocol+"//"+loc.hostname+loc.pathname+"#somedivid";
  } else return true;
}

除了@cybermate的答案,您还需要额外的代码,因为否则每次哈希失败时,您都会继续追加哈希,例如"http://foo.com/bar whee",然后"http://foo.com/bar whee"等。

编辑:如果可以使用端口,则可以有条件地包括它:

1
2
3
window.location = loc.protocol +"//" + loc.hostname +
                  (loc.port &&":"+loc.port) +
                  loc.pathname +"#somedivid";


您可以将DIV ID散列到window.location以显示DIV。类似:

1
2
3
4
$(#link).click(function(){  
  if(validation_fails) window.location +="#<YOUR_DIV_ID>" ;  
  else return true;
}