我想做的不是加载单独的页面以将数据输入数据库,而是弹出一个对话框,并在提交后将数据添加到数据库并刷新页面。
例如:我在索引页面上,想向数据网格添加另一个条目。我会单击一个添加新条目的按钮。弹出一个对话框,我在其中添加信息,然后点击提交。然后它将刷新并保留在索引页面上。
这是我目前拥有的,但它现在没有做任何事情。
索引页面:
<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();
}
}
我觉得我很接近。我只是缺少一些东西
任何帮助表示赞赏。