【问题标题】:Send data from three forms to the controller将数据从三个表单发送到控制器
【发布时间】:2020-10-26 12:32:09
【问题描述】:

我创建了三种不同的表单,它们需要分开,因为它们折叠在不同的按钮中。碰巧当我单击第三个表单上的提交按钮时,我希望我的控制器接收来自三个表单的数据。是否可以在 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 个表单元素放在第 3 个表单中,并在网页上有一个表单。
  • 我不明白这怎么可能......你能举例说明吗?

标签: php laravel controller


【解决方案1】:

您只需将所有表单放在一个中,这意味着只有一个表单标签可以向您的控制器发送 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>

【讨论】:

  • 如果我在每个表单中有 3 个不同的工具,我该怎么办?
  • togles 是什么意思?您可以有任何类型的输入字段,因为这都是一个表单
  • lyyka,我有 3 个折叠按钮,每个按钮都有一个关联的表单。当我单击其中一个时,它会打开一个不同的表单。因此,如果我创建一个外部表单,折叠按钮将停止工作。
【解决方案2】:

谢谢大家,我解决了问题,将所有内容都保留在一个表单中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    相关资源
    最近更新 更多