4

新しいカテゴリ アイテムを追加できるフォームがあります。

<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ボタンをクリックすると、コントローラーで関数が処理され、前のページ (カテゴリページのリスト) に自動的にリダイレクトされますが、をクリックするたびにSave and add new、関数を処理する必要がありますが、コントローラーの関数で定義されているページにリダイレクトせずに同じページ。

コントローラ:

function form($id){

        // Process the form
        // ...

        // Redirect to the category list page
        redirect($this->config->item('backend_folder').'/categories');
}

Javascript を使用せずにそれを達成するためのヒントはありますか?

4

2 に答える 2

14

次の 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');

免責事項:私はそれを試していません。

于 2013-05-18T17:52:10.997 に答える
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>
于 2013-05-18T18:01:46.947 に答える