第二个独立形式在laravel中的另一个形式

时间:2016-11-02 15:23:20

标签: php laravel-4

我试图制作一些我不确定是否可行以及究竟会发生什么的东西。

我想要的是一张表格中的表格和一张附加表格。依赖于我在控制器中执行不同操作的按钮。这是我到目前为止所拥有的

我的刀片

{{ Form::open(array('url' => 'admin/inv')) }}
      {{ Form::open(array('url' => 'admin/inv/multiPC')) }}
      <table class="table table-bordered">
            <tbody>
            <tr> 
                <td><input type="checkbox" name="delete[]" value="{{ $product->product_id }}"> </td>
                <td><strong>${{ $product->price }}</strong><input type="number" name='price[]'  class="form-control"/></td>
            </tr>
            </tbody>
      </table>
  <button type="submit" href="{{ URL::to('/admin/del') }}?_token={{ csrf_token() }}">Delete</button>
  <button type="submit" href="{{ URL::to('/admin/multiPC') }}?_token={{ csrf_token() }}">Update Price</button>       
     {{ Form::close() }}
{{ Form::close() }}    

这些都是功能

public function pDelete() {


     $delete = Input::only('delete')['delete'];
     $pDel = Product::whereIn('product_id', $delete)->delete();

     return Redirect::to('/admin/inv')->with('message', 'Product(s) deleted.');
}   

public function priceUpdate() {


     $pchanges->price = Input::only('price')['price'];
     $pChange = Product::whereIn('product_id', $pchanges);

     $pChange->save();
     return Redirect::to('/admin/inv')->with('message', 'Product(s) price changed.');
}

路线

Route::post('/admin/inv', ['uses' => 'AdminController@pDelete', 'before' => 'csrf|admin']);
Route::post ('/admin/inv/multiPC', ['uses' => 'AdminController@priceUpdate', 'before' => 'csrf|admin'])

当我检查产品并点击Delete按钮产品时,会发生什么情况。但是当我在输入字段中为价格输入价格并点击Update Price页面时,只刷新并且价格没有变化。

有没有办法在不使用JS的情况下完成此任务?

1 个答案:

答案 0 :(得分:2)

尝试这种方法

<form method="POST" class="form-horizontal" action="myapplication/personal">
  <input type="number" name='price[]'  class="form-control"/>
  <input type="checkbox" name="delete[]" value="{{ $product->product_id }}">

  <button type="submit" name="step[0]" value="Delete">Delete</button>
  <button type="submit" name="step[1]" value="Update">Update Price</button>  
</form>     
来自您的控制器的

检查步骤的值并按您的意愿执行

public function formProcess() {
 $action = request::get('step'); // i forgot laravel 4 syntex. used laravel 5 instead here :D

 if($action == 'Delete')
 {
  // do delete operation
 }
 else
 {
   //do update operation
 }

} 

希望这会有所帮助