2015-05-25 2 views
0

Я работаю над процессом подачи заявки с использованием Laravel 4.2.Сохранение или отправка формы

Пользователи, применяющие мою форму, должны быть в состоянии сохранить свой ввод формы позже или отправить его. Поэтому сейчас у меня есть две разные кнопки: «Сохранить и отправить».

Ключевым отличием между сохранением и отправкой будет статус. Когда пользователь сохраняет свое приложение, их статус приложения будет отмечен как «в процессе», когда они отправят свое приложение, статус будет отмечен как «завершен».

Мой вопрос:

С точки зрения моей формы HTML структуры, Как разграничить между сохраненным и поданного заявления? Просто проверка того, заполнили ли они все необходимые входы, не были бы надежными, потому что есть вероятность, что пользователь захочет добавить к нему больше.

Я пробовал делать форму внутри формы, но быстро понял, что это не сработает.

У кого-нибудь есть идея, как это сделать?

ответ

1

Вы можете иметь две кнопки отправки внутри формы с разными именами и значениями:

<button type="submit" name="action" value="save">Save</button> 
<button type="submit" name="action" value="submit">Submit</button> 

Вы можете проверить значение в своем действии контроллера:

public function postSubmission() 
{ 
    if (Request::get('action') == 'save') 
    { 
     // Save form for later 
    } 
    elseif (Request::get('action') == 'submit') 
    { 
     // Immediately submit form 
    } 
} 
0

Допустим, ваш код что-то (это от Laravel5, но насколько я помню, это в основном то же самое).

{!! Form::open(array('route' => array('admin.editApplication'), 'method' => 'PATCH')) !!} 
    .... 
    <button type="submit" name="save" value="save">Save</button> 
    <button type="submit" name="edit" value="edit">Edit</button> 
{!! Form::close() !!} 

Тогда в вашем контроллере вы можете сделать что-то вроде этого (проверьте, если значение установлено в редактировании (вы можете назвать это что-то другое, чем редактировать и сохранять)

public function editApplication(Request $request) { 
    if(isset($request->input('save')){ 
     // Your code to save here 
    }else{ 
     // Your code to edit here. 
    } 
} 
Смежные вопросы