为什么我的表单在循环中只显示一次

问题描述 投票:0回答:1

我有一个循环,允许我从 JSON 变量显示访问者的信息。我想测试访客是否处于“离开”状态(即访客 JSON 变量中的“离开”值是否不为空)。如果该值为空,我将显示“复选框”类型的输入。否则,我会显示一个表单和一个图标。

但是,我有一个问题:当触发@else时,尽管图标显示正确,但第一次迭代永远不会显示表单。当我进行单次迭代和多次迭代时都会出现此问题。

@for($i = 0; $i < count($vt->visiteurs); $i++)
    <div>
        <span class="text-4xl font-bold
        @if ($vt->arrivee < date('Y-m-d H:i', strtotime(date('Y-m-d H:i'). ' - 11 hours')))
            text-red-500
        @elseif($vt->depart != null)
            text-black
        @else
            text-yellow-500
        @endif">
        {{$vt->badge[$i]->numero}}
        </span>
    </div>
    
    <div class="col-span-3">
        <span class="font-bold">Visiteur :</span> {{$vt->visiteurs[$i]['name']}} {{$vt->visiteurs[$i]['firstname']}} / <span class="font-bold">Société :</span> 
        @php
            $societe = $vt->getSocieteForVisiteur($i);
        @endphp
        @if($societe)
            {{$societe->name}}
        @endif
    </div>

    <div>
        @if($vt->visiteurs[$i]['depart'] != null)
            <span class="text-red-500 font-bold">Départ</span>
        @else
            <span class="text-green-500 font-bold">Sur site</span>
        @endif
    </div>
    
    <div>
        @if($vt->visiteurs[$i]['depart'] == null)
            <input type="checkbox" class="form-check-input" name="vis[]" value="{{$i}}">
        @else
            <form action="{{ route('visite.cancelsortie') }}" method="POST" class="cancel">
                @csrf
                <input type="number" name="visite_id" value="{{ $vt->id }}" hidden>
                <input type="number" name="index" value="{{ $i }}" hidden>
                <i class="fa-solid fa-xmark text-red-500 text-xl"></i>
            </form>
        @endif
    </div>
@endfor

即使图标显示正确,为什么表单在第一次迭代时没有出现?我该如何解决这个问题?

我尝试在每个表单上放置一个类,给它们一个不同的 id,用转储检查“出发”值。然而没有任何效果。

php laravel
1个回答
0
投票

您只是忘记从

hidden
标签中省略
form-input
。 试试这个

<input type="number" name="visite_id" value="{{ $vt->id }}" >
<input type="number" name="index" value="{{ $i }}" >
© www.soinside.com 2019 - 2024. All rights reserved.