2016-08-05 6 views
1

Я использую codeigniter для создания веб-приложения. Когда пользователь регистрируется с недопустимыми учетными данными, я пытаюсь перезагрузить мою учетную запись, которая находится в моем представлении проверки подлинности, когда обновление проверки подлинности перезагружается первая вкладка входа в систему отображается, потому что по умолчанию она настроена на активную вкладку.Правильная вкладка не открывается, когда страница загружается

вид аутентификации

<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

Нет, у меня нет ничего в моем url, который проверяет hash-tag – thomaSmith

+0

. Отказ от ответственности: я вообще не знаю PHP ... , но может вы не помещаете логику PHP в тег div для загрузки «is-active»? Кроме того, класс не просто «активен»? Я использую Bootstrap, и класс просто «активен», а не «is-active». – 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> 

В контроллере можно установить вкладку по умолчанию, а затем overide, что в зависимости от сообщений или действий и т.д.

Надежда, что помогает,

Павла пользователей.

Смежные вопросы