如何通过php的头功能移动到特定的navtab

问题描述 投票:2回答:3

有什么办法可以通过标题函数提交(页面重新加载)后通过标题函数移动到特定的navtab。

就像在teacher.php中一样,这里是tabtab内容中某处的navtab的div。

<div id=" change-password " class="tab-pane fade">

</div>

我想像header.php一样在标题函数的id =“change-password”标签中移动。即

if(isset($_POST['value'])
{
  header("location:teacher.php[address of change-password tab]");
}

因此,页面应使用更改密码选项卡重新加载,而不是使用默认活动选项卡。

php html function header
3个回答
1
投票

您可以在重定向时传递GET变量:

header("location:teacher.php?password_changed");

然后你可以检查这个变量和事件的存在。显示指定的选项卡:

if (isset($_GET['password_changed']) {
    $class = "active";
} else {
    $class = "";
}
?>

<div id="change-password" class="tab-pane fade <?php echo $class; ?>">

当然,classname取决于您使用的css框架。如果您没有为选项卡使用任何框架,则需要自己编写活动标签逻辑。


如果您需要多个选项卡,则可以使用GET变量的内容(而不仅仅是它的存在):

header("location:teacher.php?tab=password_changed");
// or
header("location:teacher.php?tab=some_other_tab");

在呈现HTML时,使用内联PHP语句会更简单:

<div class="<?php echo $_GET['tab'] === 'password_changed' ? 'active' : ''; ?>">
<!-- or -->
<div class="<?php echo $_GET['tab'] === 'some_other_tab' ? 'active' : ''; ?>">

0
投票

这最终取决于您在主题图层中实现选项卡式内容的方式。

几个主题框架和javascript插件支持直接导航到页面,并使用选项卡的ID和一些javascript将特定的内容选项卡聚焦。在所有情况下,您都可以使用一些javascript或jQuery将所需的选项卡集中在页面加载/文档就绪上。

或者,为了避免在页面加载时依赖javascript,你可以使用javascript以其他方式应用的css类来提供页面,你可以使用通过GET或POST传递的查询参数(如@ martin-heralecky所建议的),或者使用cookie如果您的密码重置/登录过程使用AJAX,则为local_storage。


-1
投票

简短的路;

header("location:teacher.php?tab=password_changed");

<div id="change-password" class="tab-pane fade <?php echo (($_GET['tab']!='password_changed')?:'activeClass'); ?>"></div>
© www.soinside.com 2019 - 2024. All rights reserved.