2014-12-05 3 views
2

У меня есть форма Laravel построен так:редактировать и удалять в той же форме, используя Laravel

{{Form::model($show, ['method' => 'PUT', 'route' => ['shows.update',$show->id],'files' => 'true']);}} 
@include('shows.partials.form') 
{{Form::close()}} 

, который я использую для редактирования моих форм. Однако теперь я хочу добавить кнопку удаления в эту форму, чтобы удалить текущий отредактируемый элемент. Как я могу это достичь? Есть ли чистый способ сделать это?

+0

использовать AJAX .... ???? – itachi

+0

Вы можете добавить кнопку удаления в форму и прослушать клик по этой кнопке (и предотвратить по умолчанию) и отправить ее на свой маршрут удаления. Возможно, изменив атрибут действия формы на ваш маршрут удаления и инициируя отправку. Надеюсь, это имело смысл для вас? Или отправьте его с помощью ajax. – Jeff

ответ

2

Его не возможно гнездовых форм из-за спецификации html5, поэтому Laravel Dont позволяют вложенные формы. Простой способ справиться с этим состоит в том, чтобы определить ваши формы один за другим и отправить формы с событием onclick. Таким образом, вам не нужно писать раздутые сценарии jquery.

Например:

{{ Form::open(array('url' =>URL::Route("routename", $id), 'method' => 'DELETE', 'name' => 'delete')) }} 
    some visual stuff 
{{ Form::close() }} 
. 
. 
. 
{{ Form::open(array('url' =>URL::Route("routename2"), 'method' => 'put', 'name' => 'save', 'files' =>true)) }} 
<button type="button" class="btn btn-danger btn-xs" onCLick="document.forms.delete.submit()"> 
     <i class="fa fa-trash-o"></i> Delete 
</button> 
some another visual stuff 
{{ Form::close() }} 
0

Вы можете добавить это:

<button type="button" id="delete_submit">Delete</button> 

Js/JQuery:

$('#delete_submit').click(function(event) { 
    event.preventDefault(); 

    // $.ajax({}) 
    // or modify attribute of the form 
    // then #('#your_form').trigger('submit'); 
}); 
Смежные вопросы