2016-08-29 3 views
5

Я использую Laravel 5.1, и я хотел бы сделать форму с двумя кнопками отправки - сохранить и сохранить черновик.Laravel 5.1 одна форма две кнопки отправки

Но когда я отправляю свою форму, у меня есть все поля, кроме значения отправки.

Я прочитал, что Laravel не поместит значение кнопки отправки в POST, когда форма была отправлена ​​через ajax, так что вы могли бы помочь мне, как это сделать?

Я попробовал некоторый код, как показано ниже:

{!! Form::open(['url' => 'offer/create', 'method' => 'post', 'id' => 'offer-create']) !!} 

.... 
here are my fields 
.... 

{!! Form::submit('Save', ['class' => 'btn btn-default', 'name' => 'save']) !!} 

{!! Form::submit('Save draft', ['class' => 'btn btn-default', 'name' => 'save-draft']) !!} 

В моей routes.php у меня есть:

Route::controller('offer', 'OfferController'); 

Заранее спасибо

ответ

8

вы можете использовать те же имя и другое значение атрибут для кнопок отправки

// пример:

{!! Form::submit('Save', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save'])!!} 

{!! Form::submit('Save draft', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save-draft']) !!} 

// Контроллер:

switch($request->submitbutton) { 

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

    case 'save-draft': 
     //action for save-draft here 
    break; 
} 
1

Кажется, как Тхо это не работает (Laravel 5,5) Я попробовал этот метод, чтобы получить три кнопки: отправить, отправить + сделано и просто сделать, и надеялся получить потом я могу настроить таргетинг на коммутатор. Первый параметр формы :: submit будет перезаписан частью «value => xxx» заданного вами массива.

Так что, если вы работаете с переводами, переключатель должен сверять языковые файлы ... https://www.dropbox.com/s/1s53gi0ufm4xz26/laravel_forms1.gif?dl=0

Моим решения это один, как указано здесь Two submit buttons in one form

Это то, что HTML будет выглядеть потом: https://www.dropbox.com/s/grepk8leritvmj1/laravel_forms3.gif?dl=0

Смежные вопросы