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

时间:2016-05-12 06:46:36

标签: php forms twitter-bootstrap tabs

我正在使用引导选项卡,当我从选项卡提交表单时,我希望它在同一选项卡中重新加载。为此我尝试在链接后使用#和我发送的GET值。提交表单时,#会显示在链接上,但它不会将选项卡设置为活动状态。关于SO的问题的答案已经要求使用ajax。但我不想使用ajax表单提交。

<form action="store-admin.php?search=<?php echo $stname;?>#stock" method="post">

这是我的标签:

<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Home</a></li>
<li><a data-toggle="tab" href="#ophours">Open Hours</a></li>
<li><a data-toggle="tab" href="#stock">Stock</a></li>
</ul>

2 个答案:

答案 0 :(得分:1)

我可能会在最后添加一个url变量,然后检测它并编写一些jquery来激活该选项卡。

<form action="store-admin.php?search=<?php echo $stname;?>&tab=stock" method="post">

并在页面中(可能应该向tab变量添加更多验证,但这是基本的):

<?php if (isset($_GET['tab'])) {
    echo "<script>$('.nav-tabs a[href=\"#".$_GET['tab']."\"]').tab('show');</script>";
} ?>

答案 1 :(得分:0)

我使用了Matt Cowley建议的<form action="store-admin.php?search=<?php echo $stname;?>&tab=stock" method="post">,并在无序列表关闭后添加了此脚本

<script>

var val = '<?php echo $_GET['tab'] ?>';
if(val != ''){
    //alert(val);   
    jQuery(function () {
    jQuery('a[href="#stock"]').tab('show');
    });
}
</script>