php - 将 Bootstrap 模式部分 View 动态插入 View 中

标签 php jquery twitter-bootstrap codeigniter

我有一个 bootstrap 2.32 模态形式,有点长(见下文)。我想将其实现为一个单独的部分 View ,以便动态插入到另一个 View 的 HTML 中(为了可维护性),但我不确定具体如何执行此操作。我正在使用 Codeigniter 2.1。

主视图的按钮是:

<div id="thanks"><p><a data-toggle="modal" href="#form-content" class="btn btn-primary btn-large">Modal powers, activate!</a></p></div>

这是我想单独存储为部分 View 的内容:

<div id="form-content" class="modal hide fade in" style="display: none;">
    <div class="modal-header">
        <a class="close" data-dismiss="modal">×</a>
        <h3>Send me a message</h3>
    </div>
    <div class="modal-body">
        <form class="contact" name="contact">
             <fieldset>

               <!-- Form Name -->

            <legend>modalForm</legend>

            <!-- Text input-->
            <div class="control-group">
              <label class="control-label" for="user">User</label>
              <div class="controls">
                <input id="user" name="user" type="text" placeholder="User" class="input-xlarge" required="">
                <p class="help-block">help</p>
              </div>
            </div>

            <!-- Text input-->
            <div class="control-group">
              <label class="control-label" for="old">Old password</label>
              <div class="controls">
                <input id="old" name="old" type="text" placeholder="placeholder" class="input-xlarge">
                <p class="help-block">help</p>
              </div>
            </div>

            <!-- Text input-->
            <div class="control-group">
              <label class="control-label" for="new">New password</label>
              <div class="controls">
                <input id="new" name="new" type="text" placeholder="placeholder" class="input-xlarge">
                <p class="help-block">help</p>
              </div>
            </div>

            <!-- Text input-->
            <div class="control-group">
              <label class="control-label" for="repeat">Repeat new password</label>
              <div class="controls">
                <input id="repeat" name="repeat" type="text" placeholder="placeholder" class="input-xlarge">
                <p class="help-block">help</p>
              </div>
            </div>



                </fieldset>
        </form>
    </div>


    <div class="modal-footer">
        <input class="btn btn-success" type="submit" value="Send!" id="submit">
        <a href="#" class="btn" data-dismiss="modal">Nah.</a>
    </div>
</div>

最佳答案

您可以在需要加载“部分” View 的 View 中的任何位置执行此操作。

$this->load->view('modal_view');

编辑:加载动态内容

在此示例中,我将使用 jQuery AJAX 调用来动态检索 View 。

在您看来,您必须包含一个目标 div 才能插入 AJAX 响应。

<div id="modal_target"></div>

加载模式并显示的按钮。

<button type="button" class="btn btn-primary btn-medium" onclick="get_modal();" >Show Modal</button>

神奇的 JavaScript 函数

<script type="text/javascript"> 
    function get_modal(){
        $.ajax({
            type    : 'POST', 
            url     : '<?php base_url() ?>controler/get_modal',
            cache   : false,
            success : function(data){ 
               if(data){
                    $('#modal_target').html(data);

                    //This shows the modal
                    $('#form-content').modal();
               }
            }
        });
    }
</script>

您还必须在 Controller 中包含 AJAX 中调用的函数

public function get_modal()
{
    $this->load->view('modal_view');
}

关于php - 将 Bootstrap 模式部分 View 动态插入 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27022715/

相关文章:

php - 在 PHP 的 DLL(.net) 中运行函数 - 似乎没有任何效果

Jquery数据属性值未定义

html - 无法使用 Bootstrap 从 Angular 4 中的选项卡中删除选项卡边框

css - Bootstrap .container 宽度全宽背景,从中间分开?

javascript - 最快的 PHP 相当于 javascript `var a = var1||var2||var3;` 表达式

javascript - 移动使用 Dropzone.js 和 PHP 上传的照片

php - 授权 PHP API Charge Credit Card Example 返回空响应

javascript - localStorage 保存和检索元素的 CSS

jquery - 如何将数据插入 xml 文件

ruby-on-rails - Rails 4 ajax 在 Bootstrap 选项卡中加载内容