将视图作为带有codeigniter的对话框传递

时间:2013-06-03 02:07:15

标签: php jquery codeigniter jquery-ui-dialog

我想做的是,不是加载单独的页面来将数据输入数据库,我想弹出一个对话框,提交后,它会将数据添加到数据库并刷新页面。

例如:我在索引页面上,想要向数据网格添加另一个条目。我会点击一个添加新条目的按钮。弹出一个对话框,我将信息添加到其中,然后点击提交。然后它会刷新并保留在索引页面上。

这就是我现在所拥有的,但它现在没有做任何事情。

索引页:

<div id="createEntry">
   <button>Create new item</button>
</div>

$("button")
    .button().click(function(){
        $.post('<?php echo base_url(); ?>test/create', function(response){
            $('#dialog').html(response);
        });
    });

创建页面

<div id="dialog" title="Create new test case">

   <?php echo form_open(base_url() . 'test/create') ?>
    <label for="title">Title</label><br />
    <input type="text" name="title" /><br />

   <label for="something">Something</label><br />
   <textarea name="something"></textarea><br />

   <input type="submit" name="submit" value="Create" /> 
</div>

<script>
    $("#dialog").dialog();
</script>

控制器

public function create()
{
    //...
    //some code here for validation
    //
    if ($this->form_validation->run() === FALSE)
    {
        $this->load->view('templates/header', $data);
        $var = $this->load->view('test/create', '', TRUE);
        $this->load->view('templates/footer');
    }
    else
    {
        //adds to db
        $this->test_model->set();
    }
}

我觉得我很亲密。只有我缺少的东西

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

简单的回答。我在索引页面上需要<div id="dialog">