我有一个表单,可以添加新的类别项目。
<form method="POST" action="backend/categories/form">
<input type="text" name="title" value="" />
<button type="submit">Save</button>
<button type="submit">Save and add new</button>
</form>
我想要做的是,如果我点击Save
按钮,它将处理控制器中的一个功能并自动重定向到上一页(类别列表页面),但每当我点击{ {1}},它应该处理函数但重新加载同一页面而不重定向到控制器函数中定义的页面。
控制器:
Save and add new
在不使用Javascript的情况下实现它的任何提示?
答案 0 :(得分:13)
使用此HTML:
<form method="POST" action="backend/categories/form">
<input type="text" name="title" value="" />
<button type="submit" name="submitForm" value="formSave">SAVE</button>
<button type="submit" name="submitForm" value="formSaveNew">SAVE AND ADD NEW</button>
</form>
然后像这样检查POST数据:
$formSubmit = $this->input->post('submitForm');
if( $formSubmit == 'formSaveNew' )
redirect($this->config->item('backend_folder').'/categories/form');
else
redirect($this->config->item('backend_folder').'/categories');
免责声明:我没试过。
答案 1 :(得分:0)
这可能对您有所帮助:
在控制器的保存功能中使用此功能。插入/更新代码后立即:
$task = $_POST['submit'];
//echo $task //Save or SaveNew depending on pressed button
switch ($task)
{
case 'Save':
$this->session->set_flashdata('message',$this->lang->line('changes_has_been_saved_successfully'));
$link = redirect('cashdrawer/cashdrawerform/12'); //Link after save button with id
break;
case 'SaveNew':
$this->session->set_flashdata('message',$this->lang->line('this_order_has_been_saved_successfully'));
$link = redirect('cashdrawer/cashdrawerform'); //Link after save and new
//echo $link;
}
redirect($link);
并将按钮更改为:
<button type="submit">Save</button>
<button type="submit">SaveNew</button>