所以,我正在使用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