将数据从三种形式发送到控制器

时间:2020-10-26 12:32:09

标签: php laravel controller

我创建了三种不同的形式,它们需要分开,因为它们被折叠在不同的按钮中。碰巧,当我单击第三个表单上的Submit按钮时,我希望控制器从这三个表单中接收数据。是否可以在Laravel中通过一次提交从所有表单接收输入数据?

每种形式都位于数据目标标识的按钮内。示例:

<div class="container" id="myGroup">   
 
    <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#entidade"  role="button" aria-expanded="false" aria-controls="entidade">
          Entidades
    </button>  

    <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#dirigente1"  role="button" aria-expanded="false" aria-controls="dirigente1">
            Dirigente 1
    </button>        

    <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#dirigente2"  role="button" aria-expanded="false" aria-controls="dirigente2">
            Dirigente 2
    </button>   
    
    <form  class="collapse" id="entidade" data-parent="#myGroup" method="post" action="/entidades/store">
    .
    .
    </form>

    <form  class="collapse" id='dirigente1' data-parent="#myGroup" method="post" action="/entidades/store">           
    .
    .
    </form>

    <form  class="collapse" id='dirigente2' data-parent="#myGroup" method="post" action="/entidades/store">           
    .
    .
    </form>
</div>

控制器:

public function store(Request $request){
    
}

2 个答案:

答案 0 :(得分:0)

您只需要将所有表单放入一个表单,这意味着只有一个表单标签可以将POST请求发送到您的控制器。

我建议在您的控制器中实现处理空字段并仅保存不为空的字段的逻辑(即,如果您将前两个表单保留为空白而仅提交第三个表单)

您仍然可以保留所有3个提交按钮,但是请确保将所有表单合并为一个,因此在这样的页面中只有一个表单标签:

<form method='POST' action='...'>
  ...form 1 inputs...
  ...submit button 1

  ...form 2 inputs...
  ...submit button 2

  ...form 3 inputs...
  ...submit button 3
</form>

答案 1 :(得分:0)

谢谢大家,我解决了问题,将所有内容都保留为一种形式。