通过在codeigniter中加载视图来打开引导模态对话框


Opening a bootstrap modal dialog on by loading a view in codeigniter

场景:用户点击Login with Facebook链接,但实际用户没有在数据库中注册。url的代码是:

<a href="<?php echo $this->authlib->fbloginURL(site_url() . 'auth/facebooklogin'); ?>">

auth/facebooklogin()函数中,我正在检查此条件,并且如果用户未注册,我想打开一个模式进行注册。

facebooklogin()中检查和重定向的代码片段:

if(is_null( $this->authlib->has_account( $fb_id ) ) ) // User has no account
    redirect('/auth/register_modal');

register_modal()函数只是加载我想要显示的新视图:

function register_modal()
{
    $this->load->view('include/header');
    $this->load->view('auth/register_modal');
    $this->load->view('include/footer');
}

为了讨论的目的,我的modal dialog是:

    <div class="modal hide" id="myModal">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">x</button>
            <h3>Login to MyWebsite.com</h3>
        </div>
        <div class="modal-body">
             <form method="post" action='' name="login_form">
                 <p><input type="text" class="span3" name="eid" id="email" placeholder="Email"></p>
                <p><input type="password" class="span3" name="passwd" placeholder="Password"></p>
                <p><button type="submit" class="btn btn-primary">Sign in</button>
                <a href="#">Forgot Password?</a>
                </p>
             </form>
        </div>
        <div class="modal-footer">
            New To MyWebsite.com?
        <a href="#" class="btn btn-primary">Register</a>
        </div>
</div>

这行不通。我在想我做错了什么?所有相关的引导文件都加载在头文件中。

我自己找到了解决办法。我只需要在我的模式中更改以下内容:

<div class="modal hide" id="myModal">

<div class="modal show" id="myModal">

。将hide更改为show。我真傻!

登录

 </diV>
 <div class="modal-body">

 </div>
 <div class="modal-footer" id="modal-footer" >

 </div>