【问题标题】:Laravel get input when name field is unkown当名称字段未知时,Laravel 获取输入
【发布时间】:2018-02-23 23:42:32
【问题描述】:

我有一个动态表单,它遍历输入字段并为每个输入提取一个动态名称。如何在未知名称标签上使用$request->input('')。我还想验证这些字段,但不是我的姓名字段,所以我需要区分循环字段和输入之间的区别。

示例字段集 -

<form id="" method="post" action="{{ route('orderStore') }}">
   {{ csrf_field() }} 

   <input id="name" type="text" name="full-name" />

    @forelse($options as $option)
    <select class="ticket-qty" name="{{ $option->id }}">
        <option value="0">0 Option</option>
        <option value="1">1 Option</option>
        <option value="2">2 Option</option>
        <option value="3">3 Option</option>
        <option value="4">4 Option</option>
        <option value="5">5 Option</option>
    </select>
    @empty
        <p>Sorry, no inputs fields</p>
    @endforelse
</form>

我知道您可以使用 $request-&gt;all();,但我无法判断该名称是选项还是任何其他输入字段。

【问题讨论】:

  • 使用数组输入字段有什么问题。

标签: php laravel laravel-5


【解决方案1】:

我认为您应该使用一个隐藏的数组输入来传递 id,并使用单独的选择器来选择这样的选项。

<form id="" method="post" action="{{ route('orderStore') }}">
{{ csrf_field() }} 

<input id="name" type="text" name="full-name" />

@forelse($options as $option)
    <input name="option_id[]" value="{{ $option->id }}" hidden>
    <select class="ticket-qty" name="option_selected[]">
        <option value="0">0 Option</option>
        <option value="1">1 Option</option>
        <option value="2">2 Option</option>
        <option value="3">3 Option</option>
        <option value="4">4 Option</option>
        <option value="5">5 Option</option>
    </select>
    @empty
        <p>Sorry, no inputs fields</p>
    @endforelse
</form>

现在,您可以在后端访问这些值,例如,

@foreach($request->option_id as $key=>$value){
    // here $value is option id 
    // $request->option_selected[$key] is the selected option of the above id
}

希望你能理解。

【讨论】:

  • 我有点困惑,无法让您的解决方案发挥作用。这比在名称字段前面加上一个值更好吗? name="option-{{ $ticket-&gt;id }}
  • @SamXronn 类似的方式,但更安静,也无需在后端做额外的事情来从 name 属性中检索 id :D
  • @SamXronn 因为我认为您需要 id 值才能在后端进行一些操作,所以如果您使用单独的输入字段传递它,那么您可以使用简单的 foreach 来获取所需的数据。
  • 我明白你的方法了,谢谢你的帮助
  • @SamXronn 我很高兴它帮助了你:D
猜你喜欢
  • 1970-01-01
  • 2021-08-05
  • 1970-01-01
  • 2015-03-14
  • 1970-01-01
  • 2019-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多