所以我正在使用jquerymobile来创建我正在创建的应用程序。我有一个链接,如果所有验证通过,我想通过,但如果一些事情失败,我想重定向。
在jquery中是这样的。由于它是jquerymobile,链接将是同一index.html页面上的新div - 如果这有帮助。
$(#link).click(function(){
if(validation_fails) link_elsewhere;
else return true;
}
答案 0 :(得分:13)
您可以使用window.location重定向浏览器:
答案 1 :(得分:13)
您可以使用JavaScript的原生 window.location
$('#link').click(function(){
if(validation_fails) {
window.location="http://this.site.com/";
}
else {
return true;
}
}
答案 2 :(得分:1)
您可以将div id哈希到window.location以显示div。 类似的东西:
$(#link).click(function(){
if(validation_fails) window.location += "#<YOUR_DIV_ID>" ;
else return true;
}
答案 3 :(得分:1)
$(#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";