2017-06-21 7 views
0

私はformで多くはnav-tabsです。ユーザーがリフレッシュをクリックするか、F5を押すと、同じタブを正常に取得できます。以下は、私のコードです:イベントを実行した後に同じタブを再ロードしますか?

// Store the currently selected tab in the hash value 

$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) { 
     var id = $(e.target).attr("href").substr(1); 
     window.location.hash = id; 
}); 

// on load of the page: switch to the currently selected tab 

var hash = window.location.hash; 
$('#nav-tabs-wrapper a[href="' + hash + '"]').tab('show'); 

さて問題は、他のeventsubmit上の同じタブを得ています。

$("#New").on("click", function() { 

    $.ajax({ 
     success: function (result) { 
     location.reload(); 
     } 
    }); 

}); 

今、成功した場合、同じ場所を読み込もうとしていますが、動作しません。それはいつも私を最初のタブに連れて行きます。

+0

あなたはhtmlも共有できますか? –

+0

問題を解決しましたか? – hasan

答えて

1

選択したタブのIDあなたもこのためlocaStorageを使用することができます

showTab(); 

$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) { 
     var id = $(e.target).attr("href").substr(1); 
     window.location.hash = id; 
     $.cookie("selectedTabId", hash); 
     showTab(); 
}); 

function showTab() 
{ 
    if($.cookie("selectedTabId") != null) 
    { 
     $('#nav-tabs-wrapper a[href="' + $.cookie("selectedTabId") + '"]').tab('show'); 
    } 
    else 
    { 
     $('#nav-tabs-wrapper a[href="default"]').tab('show'); // show default 
    } 
} 
1

を保つための$ .cookieを使用することができます。 あなたはこのようのlocalStorageでフォームストア現在のタブのIDを提出している:あなたは、フォームを提出した後に戻ってきたときに次に

$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) { 
     var id = $(e.target).attr("href").substr(1); 
     window.location.hash = id; 
     localStorage.setItem('tab',id); 
}); 

は、そのキーのlocalStorage値を読み取ります。

$("#New").on("click", function() { 

    $.ajax({ 
     success: function (result) { 
     windlow.location = localStorage.getItem('tab'); 
     } 
    }); 

}); 
関連する問題