簡體   English   中英

帶有兩個提交按鈕的 Laravel 表單

[英]Laravel form with two submit button

我的更新表單需要兩個提交按鈕,

當前設置

目前,當我點擊提交時,它會保存我的數據並將我重定向到另一個頁面,我可以在其中編輯我的多個圖像(所以我的表單就像兩步功能)

我想添加什么

我想添加另一個按鈕,以便保存我的數據並將我返回到索引頁面(跳過第二步)

最后結果

最后的結果將是我的帶有兩個按鈕的編輯表單

  1. 按鈕 1 保存數據並將我返回到下一個表單以編輯我的圖像
  2. 按鈕 2 保存數據並將我返回到索引頁面

代碼

controller function

public function update(Request $request, $id)
    {
      // validation and....

      $product->save();

      // this is my current button action (redirect to second step)
      return redirect()->route('editmultiimages',
          $product->id)->with('success',
          'Product, '. $product->title.' updated, now you can edit images.');

     // need second button action here
}

blade form

{{ Form::model($product, array('route' => array('products.update', $product->id), 'method' => 'PUT', 'files' => true)) }}

// my inputs

// my current button (saves data and goes to next step)
{{ Form::submit('Edit Images', array('class' => 'btn btn-success')) }}

{{Form::close()}}

任何的想法?

解決了

blade form

{{ Form::submit('Edit Images', array('class' => 'btn btn-info', 'name' => 'submitbutton')) }}
{{ Form::submit('Finish', array('class' => 'btn btn-success', 'name' => 'submitbutton')) }}

controller

switch ($request->submitbutton) {
        case 'Edit Images':
            return redirect()->route('editmultiimages', $product->id)->with('success', 'Product, '. $product->title.' updated, now you can edit images.');
            break;

        case 'Finish':
            Session::flash('success', 'Product, '. $product->title.' updated successfully.');
            return redirect()->route('products.index', $product->id);
            break;
}

希望它能幫助別人。

您可以使用兩個具有不同值屬性的提交按鈕。

看法 :

...

{{ Form::submit('Edit Images', array('class' => 'btn btn-success','name'=>'btnSubmit', 'value'=>'button1')) }}

{{ Form::submit('Edit Images', array('class' => 'btn btn-success','name'=>'btnSubmit', 'value'=>'button2')) }}

...

控制器 :

public function update(Request request) {

  if(request->get('btnSubmit') == 'button1') {

    // do your stuff here...

  } else if(request->get('btnSubmit') == 'button2') {

    // do your stuff here...

  }
}

您可以為提交按鈕使用相同的名稱和不同的值屬性

// 例子:

<input type="submit" class="btn btn-success" value="save and close" name="submitbutton">
<input type="submit" class="btn btn-success" value="apply" name="submitbutton">
<input type="submit" class="btn btn-success" value="save and new" name="submitbutton">
<input type="submit" class="btn btn-success" value="save and search" name="submitbutton">
            

// 控制器:

switch($request->submitbutton) {

    case 'save and close': 
        //action save here and close
    break;

    case 'save and new': 
        //action for save and new
    break;

    case 'save and search': 
        //action for save and search
    break;

    case 'apply': 
        //action for save and route here
    break;
}

或者

    if ($request->submitbutton == 'apply') {
        return redirect()->route('admin.products.edit', $product->id)->with('success', "new product {$product->name} created as well.");
    } else if ($request->submitbutton == 'save and search'){
        return redirect()->route('admin.products.index', ['name' => $product->name])->with('success', "product {$product->name} saved.");
    } else if ($request->submitbutton == 'save and close'){
        return redirect()->route('admin.products.index')->with('info', "product {$product->name} saved");
    } else if ($request->submitbutton == 'save and new'){
        return redirect()->route('admin.products.create' , $request->category_id)->with('info', "product {$product->name} saved.");
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM