Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何在foreach循环中使用数组索引作为表单名?_Laravel - Fatal编程技术网

Laravel 如何在foreach循环中使用数组索引作为表单名?

Laravel 如何在foreach循环中使用数组索引作为表单名?,laravel,Laravel,我正在尝试使用foreach循环生成表单列表。表单只是使用POST将其id传递给我的控制器以便更新的项目名称。我正在使用onclick=“form.submit()”获取操作 当列表中只有一个项目时,这将按预期工作 @foreach($items as $item) {{ Form::open(['url'=>'item/view', 'name'=>'itemView']) }} {{ Form::hidden('id', $item->id ) }} <li>

我正在尝试使用foreach循环生成表单列表。表单只是使用POST将其id传递给我的控制器以便更新的项目名称。我正在使用onclick=“form.submit()”获取操作

当列表中只有一个项目时,这将按预期工作

@foreach($items as $item)
{{ Form::open(['url'=>'item/view', 'name'=>'itemView']) }}
{{ Form::hidden('id', $item->id ) }}
  <li><a href="#" onclick="itemView.submit()">{{ $item->name }}</a></li>
{{ Form::close() }}
@endforeach
@foreach($items作为$item)
{{Form::open(['url'=>'item/view','name'=>'itemView'])}
{{Form::hidden('id',$item->id)}
  • {{Form::close()}} @endforeach
    但是,只要are>1项,我就会得到一个“itemView.submt不是函数”错误。我认为这是因为现在有重复的表单名称

    问题:如何使用数组索引使表单名称唯一

    我试过这个,但运气不好

    @foreach($items as $item)
    {{ Form::open(['url'=>'item/view', 'name'=>'itemView[]']) }}
    {{ Form::hidden('id', $item->id ) }}
      <li><a href="#" onclick="itemView[].submit()">{{ $item->name }}</a></li>
    {{ Form::close() }}
    @endforeach
    
    @foreach($items作为$item)
    {{Form::open(['url'=>'item/view','name'=>'itemView[]'])}
    {{Form::hidden('id',$item->id)}
    
  • {{Form::close()}} @endforeach
    我相信这是可能的,但不知道如何实现


    谢谢

    您应该将函数与单击一起使用,例如:

    @foreach($items as $key => $item)
        {{ Form::open(['url'=>'item/view', 'name'=>'itemView[]']) }}
        {{ Form::hidden('id', $item->id ) }}
            <li><a href="#" onclick="submitForm({{ $key }})">{{ $item->name }}</a></li>
        {{ Form::close() }}
    @endforeach
    

    谢谢你的recco让JS和PHP分开了。拉什万很高兴这有帮助
    <a href="#" class="js_link">{{ $item->name }}</a></li>
    
    $('.js_link').on('click', function(e) {
        $(this).closest('form').submit();
    });