2016-08-05 80 views
1

我正在使用codeigniter来创建一个Web应用程序,当用户注册无效的凭据我试图重新加载我的注册选项卡位于我的身份验证视图,当身份验证视图重新加载我的登录选项卡首先显示,因为默认情况下,它被设置为活动选项卡。正确的选项卡未加载页面时打开

认证视图

<div class="row"> 
    <div class="medium-12 columns"> 
<ul class="tabs" data-tabs id="authentication_tab"> 
    <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">Login</a></li> 
    <li class="tabs-title"><a href="#panel2">Sign Up</a></li> 
</ul> 
<div class="tabs-content" data-tabs-content="authentication_tab"> 
    <div class="tabs-panel is-active" id="panel1"> 
    <?php $this->load->view('authentication/login');?> 
    </div> 
    <div class="tabs-panel" id="panel2"> 
    <?php $this->load->view('authentication/reg');?> 
    </div> 
</div> 
</div> 
</div> 
<?php $this->load->view('templates/footer');?> 

装车验证后,我的认证看法已经发生

public function reg() 
    { 
$data['title'] = 'Home Page'; 
$this->load->view('templates/header',$data); 
$this->load->view('authentication/authentication#panel2'); 
    } 
+0

你有JS检查URL中的哈希标签吗?如果没有,比你必须做一些检查它(PHP或JS方面) – Justinas

+0

没有我没有任何东西在我的网址,检查哈希标记 – thomaSmith

+0

声明:我根本不知道PHP ... 但可以你没有把PHP逻辑放在div标签中加载“is-active”? 此外,班级不仅仅是“积极”吗?我使用Bootstrap,这个类只是“活跃”而不是“活跃”。 – pshep123

回答

0

在你使用任何控制器只是决定(取决于所采取的行动),这片你想开了。让我们说你想要的标签是'thisOne',然后将一个变量传递给你的视图,就像$ open_tab ='thisOne'。

在您的看法中,在每个选项卡之前,只需检查变量以查看它是否等于当前选项卡,然后设置一个类。 使用此:

<?php echo ('name_of_tab' == $open_tab) ? 'is_active' : ''; ?> 

In your tab LI 
<li class="tabs-title <?php echo ('name_of_tab' == $open_tab) ? 'is_active' : ''; ?>">Blah Blah</li> 

在你的控制器,你可以设置默认选项卡,然后再在此改变,取决于用户的帖子或行动等

希望帮助,

保罗。