だから私は私が作成しているアプリにjquerymobileを使用しています。すべての検証に合格した場合は通過したいが、何かが失敗した場合はリダイレクトしたいというリンクがあります。
Jqueryでこのようなもの。それはjquerymobileなので、リンクは同じindex.htmlページ上の新しいdivになります-それが役立つ場合。
$(#link).click(function(){
if(validation_fails) link_elsewhere;
else return true;
}
Window.locationを使用して、ブラウザーをリダイレクトできます。
JavaScriptのnativewindow.location
$('#link').click(function(){
if(validation_fails) {
window.location="http://this.site.com/";
}
else {
return true;
}
}
Div idをwindow.locationにハッシュして、divを表示できます。何かのようなもの:
$(#link).click(function(){
if(validation_fails) window.location += "#<YOUR_DIV_ID>" ;
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";