CodeIgniter形式的两个不同的提交按钮没有Javascript

时间:2013-05-18 17:48:07

标签: php codeigniter-2

我有一个表单,可以添加新的类别项目。

<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的情况下实现它的任何提示?

2 个答案:

答案 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>