Deleting data with modal window in laravel

I have some problem for deleting data with confirmation (in this case using a modal window) in laravel.

This is my delete button

{{ Form::open(array(
                                'route' => array('delete_spk', $spk_data->id),
                                'method' => 'put',
                                'style' => 'display:inline'
                                ))
                            }}
                            <button class="btn btn-danger btn-line btn-rect" type="submit" data-toggle="modal" data-target="#delSpk" data-title="Delete SPK" data-message='Are you sure you want to delete this data ?'>
                            <i class="icon-trash icon-white"></i> Delete</button>
                            {{ Form::close() }}
      

Run codeHide result


This is a modal block

<!--MODAL DELETE SPK-->
<div class="col-lg-12">
                        <div class="modal fade" id="delSpk" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                                <div class="modal-dialog">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                                            <h4 class="modal-title" id="H4"> Delete SPK</h4>
                                        </div>
                                        <div class="modal-body">
                                        <p class="help-block">Are you sure you want to delete this data ?</p>
                                        </div>
                                        <div class="modal-footer">
                                       <button type="button" class="btn btn-danger btn-line btn-rect" id="confirm">Yes</button>
                                        <button type="button" class="btn btn-primary btn-line btn-rect" data-dismiss="modal">No</button>
                                        </div>

                                    </div>
                                </div>
                            </div>
                        </div>
<!--END OF MODAL DELETE SPK-->

<!-- Dialog show event handler -->
<script type="text/javascript">
  $('#delSpk').on('show.bs.modal', function (e) {
      $message = $(e.relatedTarget).attr('data-message');
      $(this).find('.modal-body p').text($message);
      $title = $(e.relatedTarget).attr('data-title');
      $(this).find('.modal-title').text($title);

      // Pass form reference to modal for submission on yes/ok
      var form = $(e.relatedTarget).closest('form');
      $(this).find('.modal-footer #confirm').data('form', form);
  });

  <!-- Form confirm (yes/ok) handler, submits form -->
  $('#delSpk').find('.modal-footer #confirm').on('click', function(){
      $(this).data('form').submit();
  });
</script>
      

Run codeHide result


This is the route

Route::get('spk/destroy/{id}', array('as'=>'delete_spk','uses'=>'SpkController@destroy'));
      

Run codeHide result


And this is the controller for deleting data

public function destroy()
	{
		$spk= Spk::find(Input::get('id'))->delete();
        Session::flash('message', 'Successfully deleted the SPK !');
        return Redirect::to('spk_view');
	}
      

Run codeHide result


The modal block works, but when I get the identifier to delete, it finishes with the results "method does not allow http exception". Can someone help me please?

+3


source to share


1 answer


This issue occurs because you defined a route as GET but submitted the form as PUT

If you define a route like below it should work



Route::put('spk/destroy/{id}', array('as'=>'delete_spk','uses'=>'SpkController@destroy'));

      

0


source







All Articles