2011-01-06 17 views
19

私は作成しているアプリケーションのためにjquerymobileを使用しています。私はすべての妥当性検査が合格したら私は通過したいと思うリンクがありますが、何かが失敗したら私はリダイレクトしたいと思います。リダイレクトjQueryを使用して

このようなjqueryでは、それはjquerymobileなので、同じindex.htmlページの新しいdivになるでしょう。

$(#link).click(function(){ 
    if(validation_fails) link_elsewhere; 
    else return true; 
} 
+0

これ本当にはポート番号が必要なとき、本当にjQueryを使って上に行く – jondavidjohn

答えて

1

あなたはdiv要素を表示するためにwindow.locationのにdivのIDをハッシュすることができます。 のような何か:

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

そうでなければ、ハッシュたびにそれを追加しておこうので、あなたは、あなたがCyber​​mateの答え@超えて余分なコードを必要とするのJavaScriptのネイティブwindow.location

$('#link').click(function(){ 

    if(validation_fails) { 
     window.location="http://this.site.com/"; 
    } 
    else { 
     return true; 
    } 
} 
1
$(#link).click(function(){ 
    if(validation_fails){ 
    var loc = window.location; 
    window.location = loc.protocol+"//"+loc.hostname+loc.pathname+"#somedivid"; 
    } else return true; 
} 

を使用することができます失敗する、例えば"http://foo.com/bar#whee"、そして "" http://foo.com/bar#whee#whee」など

編集: ポートを使用する可能性がある場合、あなたは条件付きでそれを含めることができます。

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

loc.portを何も使用することができない、ちょうどjavascriptのです –

関連する問題