【问题标题】:Form in a foreach in laravel blade在 laravel 刀片的 foreach 中形成
【发布时间】:2019-05-29 04:47:17
【问题描述】:

我在 laravel Blade 的 @foreach 循环中有一个表单,但现在加载后,我无法提交第一个表单。

检查后,发现第一个表单的表单标签没有添加到文件源代码中。

@foreach($images as $row)
    <div class="col-md-3">
        <form method="post" id="image_manipulator" action="{{ url('image/delete/'.$row->id) }}" class="delete_confirm">
        {{ csrf_field() }}
        <input type="hidden" name="delete_filename" value="{{ $row->filename }}"> 
            <button class="btn btn-danger" type="button">
                <i class="fa fa-trash">DELETE</i>
            </button>
        </form>
    </div>
@endforeach 

对于第一张图片,我没有表单标签,因此我无法提交第一个表单。

【问题讨论】:

  • foreach 循环之前仔细检查您是否有一个开放的

标签: jquery laravel laravel-blade


【解决方案1】:

有几件事会对你有所帮助。

type="submit" 添加到您的按钮代码中,而不是type="button"

为每个输入提供独立的名称以防止冲突,例如:

<input type="hidden" name="delete_filename-{{$someLoopVar}}" value="{{ $row->filename }}"> 

【讨论】:

  • 我认为以上内容不会影响任何事情,我正在通过 jquery 提交表单,除了第一个之外,其他所有表单都可以正常工作
  • 没有意识到您使用 Jquery 提交。表单元素有不同的名称,包括表单?
  • 只是没有 id,在所有循环中每个 case 都相似,
  • 类似还是一样?如果 id 相同,这可能是问题所在 - 它正在发生冲突并且 jquery 没有提交正确的表单。如果相同,请尝试更改以在输入和表单的 id 上添加循环变量,如我的回答中所示,看看是否有帮助。
猜你喜欢
  • 2017-06-20
  • 2018-04-04
  • 2021-10-19
  • 1970-01-01
  • 2021-01-27
  • 2022-09-22
  • 2015-12-15
  • 2017-11-13
  • 2017-10-11
相关资源
最近更新 更多