Php 表单提交失败时保留下拉列表选择/值-Laravel 6.x
我在Laravel6.x中创建了一个提交表单,其中包括下拉列表,每个列表都由数据库填充,并在blade文件中使用“@foreach”循环。以下是我的HTML/PHP代码:Php 表单提交失败时保留下拉列表选择/值-Laravel 6.x,php,html,laravel,Php,Html,Laravel,我在Laravel6.x中创建了一个提交表单,其中包括下拉列表,每个列表都由数据库填充,并在blade文件中使用“@foreach”循环。以下是我的HTML/PHP代码: <div id="event-sport"> <span>Sport:</span> <select name="sport"> <option value="default" selected="selected" disabled hid
<div id="event-sport">
<span>Sport:</span>
<select name="sport">
<option value="default" selected="selected" disabled hidden>Select Sport</option>
@foreach($sports as $sport)
<option value="{{ $sport->id }}" title="{{ $sport->desc }}">{{ $sport->name }}</option>
@endforeach
</select>
@if ($errors->has('sport'))
<span id="error-msg" style="color:red; font-size:1.5vh;"><br>{{ 'Please select a sport' }}</span>
@endif
</div>
运动:
选择运动
@foreach($sports as$sport)
{{$sport->name}
@endforeach
@如果($errors->has('sport'))
{{'请选择一项运动'}}
@恩迪夫
我使用“{old('''}}}”helper方法在表单提交失败后将其他输入保存在textareas和inputs等元素中,但我不知道如何保存下拉列表的选中选项(及其值)
下拉列表的当前行为如下:
提前感谢您的建议 多亏了Philip提供的帮助,我才明白了这一点。答案毕竟很简单 我所做的只是在选择框的
标记中,在foreach
循环中添加{{old('sport')==“$sport->id”?'selected':'}}
。但是,对于编辑表单,这一行有点改变,因为在编辑表单中,必须首先从数据库中绘制值,然后从“旧”选择中更改
创建表单:
<div id="event-sport">
<span>Sport:</span>
<select name="sport">
<option value="default" selected="selected" disabled hidden>Select Sport</option>
@foreach($sports as $sport)
<option value="{{ $sport->id }}" {{ old('sport') == "$sport->id" ? 'selected' : '' }} title="{{ $sport->desc }}">{{ $sport->name }}</option>
@endforeach
</select>
@if ($errors->has('sport'))
<span id="error-msg" style="color:red; font-size:1.5vh;"><br>{{ 'Please select a sport' }}</span>
@endif
</div>
运动:
选择运动
@foreach($sports as$sport)
{{$sport->name}
@endforeach
@如果($errors->has('sport'))
{{'请选择一项运动'}}
@恩迪夫
编辑来自:
<div id="event-sport">
<span>Sport:</span>
<select name="sport">
<option value="{{$event->sport->id}}" selected="selected" disabled hidden>{{$event->sport->name}}</option>
@foreach($sports as $sport)
<option value="{{ $sport->id }}" {{ $event->sport->id == "$sport->id" ? 'selected' : '' }} title="{{ $sport->desc }}">{{ $sport->name }}</option>
@endforeach
</select>
@if ($errors->has('sport'))
<span id="error-msg" style="color:red; font-size:1.5vh;"><br>{{ 'Please select a sport' }}</span>
@endif
</div>
运动:
{{$event->sport->name}
@foreach($sports as$sport)
运动->id==“$sport->id”?”所选“:”}}title=“{{{$sport->desc}}}”>{{{$sport->name}
@endforeach
@如果($errors->has('sport'))
{{'请选择一项运动'}}
@恩迪夫
请注意,在编辑表单中,添加到
标记的内容是{{$event->sport->id=“$sport->id”?“selected”:“}}
嗨,看看这个链接。也许对你有帮助。这帮我弄明白了,谢谢!