首页 > 解决方案 > laravel 更新方法忽略隐藏选择中的字段

问题描述

我有一个像这样的小表格:

<form action="{{ url('equips') }}/{{$equip->id }}" method="POST" class="form-horizontal">
{{ csrf_field() }}
{{ method_field('PATCH')}}
<div class="form-group">
    <label for="formGroupExampleInput">Name:</label>
    <input type="text" id="name" name="name" class="form-control" value="{{ $equip->name }}">
</div>
<div id="ex1" class="modal row selects col-md-9" style="background-color:transparent;">
  <div class="form-row col-sm-9">
    <div class="col">
    <label>Hud 1</label>
      <select id="w_hud1" name="w_hud1">
        <option>---Select---</option>
      </select>
    </div>
  </div>
</div>
<div class="form-group">
  <div class="col-sm-offset-3 col-sm-6">
    <button type="submit" class="btn btn-default">
      <i class="fa fa-btn fa-plus">update</i>
    </button>
  </div>
</div>

我的更新功能:

public function update(Request $request, equip $equip)
 {
   $this->validate($request, [
       'name'       => 'required',
       'w_hud1'     => 'nullable'
   ]);
   $equip->update($request->all());
   return back();
 }

当我点击更新按钮时,更新功能将无法识别选择框的值 - $request 的 var_dump 将是:

array(3) { ["_token"]=> string(40) "UFu6APAKP4gkyKFFxR7q6zTkPAFPSteLG0j7eU3u" ["_method"]=> string(5) "PATCH" ["name"]=> string(1) "1" }

但是当我从 div 中删除“模态”类时,值将被传递:

array(4) { ["_token"]=> string(40) "UFu6APAKP4gkyKFFxR7q6zTkPAFPSteLG0j7eU3u" ["_method"]=> string(5) "PATCH" ["name"]=> string(1) "1" ["w_hud1"]=> string(6) "203832" }

所以它与类有关。“模态”类的来源:

https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.css

知道为什么会这样吗?我希望我提供了足够的信息。

问候,

安德烈亚斯

编辑:所以当我打开模态,更改 selext 选项并关闭模态时,当我单击更新按钮时,似乎不会发送值。

标签: laravellaravel-5

解决方案


推荐阅读