保存与提交表单

时间:2015-05-25 20:32:34

标签: html laravel laravel-4

我正在使用Laravel 4.2进行申请流程。

使用我的表单的用户需要能够保存他们的表单输入以供日后使用或提交。所以现在我有两个不同的按钮,保存并提交。

保存和提交之间的主要区别在于状态。当用户保存他们的应用程序时,他们的应用程序状态将被标记为“进行中”,当他们提交他们的应用程序时,状态将被标记为“已完成”。

我的问题是:

就我的表单HTML结构而言,如何区分已保存和已提交的应用程序?只是检查他们是否填写了所有必需的输入是不可靠的,因为用户可能希望以后再添加更多。

我尝试在表单中做一个表单,但很快意识到这不起作用。

有没有人知道如何做到这一点?

2 个答案:

答案 0 :(得分: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
    }
}

答案 1 :(得分: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.
    }
}