【问题标题】:Saving vs. submitting a form保存与提交表单
【发布时间】:2015-08-07 08:47:23
【问题描述】:

我正在使用 Laravel 4.2 处理应用程序。

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

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

我的问题是:

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

我尝试在表单中创建表单,但很快意识到这行不通。

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

【问题讨论】:

    标签: html laravel laravel-4


    【解决方案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
        }
    }
    

    【讨论】:

      【解决方案2】:

      假设您的代码是这样的(这是来自 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.
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多