2016-08-05 9 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

URLにハッシュタグをチェックするJSがありますか?そうでない場合は、それをチェックする必要があります(PHPまたはJS側) – Justinas

+0

私はハッシュタグをチェックする私のURLに何も持っていません – thomaSmith

+0

免責事項:私は全くPHPを知らない... しかし、あなたは "is-active"を読み込むためにPHPロジックをdivタグに入れませんか? また、クラスは単に「アクティブ」ではありませんか?私はブートストラップを使用し、クラスは単に「アクティブ」であり、「アクティブではありません」ではありません。 – 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> 

あなたは、ユーザーの投稿やアクションに応じていることをオーバライド、その後、最初のデフォルトタブを設定することができますなど

希望、

ポールを助けています。

関連する問題