laravel控制器中未接收到复选框值

时间:2018-09-16 02:31:43

标签: php laravel checkbox controller laravel-blade

我的edit.blade.php格式中有这段代码:

@php
    $imagepath="images/Service/".$services->name."/";
    $images=glob($imagepath.'*.*');   
@endphp

<div class="row">
     @foreach($images as $image)
         @php
             $count++;
         @endphp

         <div class="col-md-5">
             <img src="{{URL::asset($image)}}"  style="height: 150px;object-fit: contain;">
         </div>
         <div class="col-md-1">
             <input form="services" type="checkbox"  name="deleteimagelink[]" value="{{($image)}}"  >
         </div>
    @endforeach
</div>

这是为了传递那些要删除的图像的路径。 我的控制器中有这个代码段:

print_r($request->input('deleteimagelink'));
$deletables=$request->input('deleteimagelink');
foreach ($deletables as $deletable)
{
    print_r($deletable);
    unlink($deletable);    
}

我有一个问题,$request->input('deleteimagelink')参数中什么都没收到。 如果我做错了任何事情,请指导我。 如果看起来没什么奇怪的,请您指导我如何处理Laravel中的这些复选框情况。 我从互联网咨询了相关的答案,但似乎没有任何效果。

2 个答案:

答案 0 :(得分:1)

<form class="form-group" method="post" action="/destroy" enctype="multipart/form-data">
     @csrf
    <input type="checkbox"  name="deleteimagelink[]" value="1"  >
      <input type="checkbox"  name="deleteimagelink[]" value="2"  >
     <button class="btn btn-primary" type="submit">Actualizar</button
      </form>

控制器

public function destroy(Request $request) { return $request; }

  

{“ _ token”:“ BetJnyujXvJnpkkwDU31kYO7lVz5OqflMQDoCLQy”,“ deleteimagelink”:[“ 1”,“ 2”]}

这对我有用!

答案 1 :(得分:0)

为了证明我的观点,我已经在<form></form>标签之外添加了上面的代码。有趣的是,即使我在输入字段中加入了form="services"作为参数{services这里的表单名称},它也无法正常工作。我以前曾做过类似的事情,那段时间做得很好。我设法将<form></form>标记移到了所有表单元素之外,并且现在工作正常。 谢谢所有尝试提供帮助的人。