所以,我正在使用jquerymobile创建一个应用程序。我有一个链接,如果所有验证通过我想要通过,但如果失败,我想重定向。使用jQuery重定向
在jQuery的东西是这样的。由于它是jquerymobile,链接将在同一个index.html页面上成为一个新的div - 如果有帮助的话。
$(#link).click(function(){
if(validation_fails) link_elsewhere;
else return true;
}
所以,我正在使用jquerymobile创建一个应用程序。我有一个链接,如果所有验证通过我想要通过,但如果失败,我想重定向。使用jQuery重定向
在jQuery的东西是这样的。由于它是jquerymobile,链接将在同一个index.html页面上成为一个新的div - 如果有帮助的话。
$(#link).click(function(){
if(validation_fails) link_elsewhere;
else return true;
}
可以使用window.location的重定向浏览器:
您可以哈希DIV ID给window.location的显示DIV。 喜欢的东西:
$(#link).click(function(){
if(validation_fails) window.location += "#<YOUR_DIV_ID>" ;
else return true;
}
您可以使用JavaScript的本地window.location
$('#link').click(function(){
if(validation_fails) {
window.location="http://this.site.com/";
}
else {
return true;
}
}
$(#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#whee”等
编辑: 如果可能被使用的端口,你可以有条件地包括它:
window.location = loc.protocol + "//" + loc.hostname +
(loc.port && ":"+loc.port) +
loc.pathname + "#somedivid";
loc.port可用于需要端口号时 – 2012-11-03 10:04:52
这真的只是javascript,没有什么真正与jquery。 – jondavidjohn 2011-01-06 03:45:03