如何在表单提交后返回相同的选项卡

时间:2017-11-02 10:11:03

标签: jquery html

提交表单后如何返回相同的标签?问题是,在我提交表单后,它返回到默认选项卡而不是我所在的最后一个选项卡。

$(document).ready(function() {
  $(".tabs").not(":first").hide();

  $(".tab .control a").click(function() {
    storage = $(this).attr("href");
    $('.tab').removeClass('active');
    $(this).addClass('active');
    $(".tabs").hide();
    $(storage).show();
  });
});
<a href="#tab1" class="tab">tab1</a>
<a href="#tab2" class="tab">tab2</a>
<a href="#tab3" class="tab">tab3</a>
<a href="#tab4" class="tab">tab4</a>
<a href="#tab5" class="tab">tab5</a>

2 个答案:

答案 0 :(得分:1)

从服务器响应重定向回页面时,您可以将片段附加到URL,例如:

/yourpage#tab2

然后,您可以在页面加载时检索该片段并显示正确的选项卡,如下所示:

<a href="#tab1" class="tab">tab1</a>
<a href="#tab2" class="tab">tab2</a>  
<a href="#tab3" class="tab">tab3</a> 
<a href="#tab4" class="tab">tab4</a>
<a href="#tab5" class="tab">tab5</a>
$(document).ready(function() {
  $(".tabs").not(":first").hide();

  $(".tab .control a").click(function() {
    showTab(this.href);
  });

  var tab = window.location.hash;
  if (tab)
    showTab(tab);
});

function showTab(tabId) {
  $('.tab').removeClass('active');
  $('a[href="' + tabId + '"]').addClass('active');
  $(".tabs").hide();
  $(storage).show();
}

答案 1 :(得分:0)

您可以在localStorage上设置值。

localStorage.content =$(this).attr("href");

提交后获取您的localStorage值。

 if($('a').attr('href') === localStorage.content)
    $(this).trigger();