【问题标题】:Laravel Form Input hidden keep returning emptyLaravel表单输入隐藏保持返回空
【发布时间】:2018-03-31 17:21:20
【问题描述】:

说明

我有一个表格

<form method="POST" accept-charset="UTF-8" action="http://site/account/1003/destroy">
  <input name="_method" type="hidden" value="DELETE">
  <input name="_token" type="hidden" value="pBRx8u17C6KHFxzfhatx0BpnmOF5x55EWSP2lpis">
  <input name="id" type="hidden" value="1003">
  <a data-dismiss="modal" class="btn btn-danger mr10">No</a>
  <button type="submit" class="btn btn-success" data-toggle="modal" data-target=".bs-example-modal-lg"> Yes </button>
</form>

如您所见,id 的值为1003


尝试

我必须在我的 destroy() 函数中进行测试

public function destroy($id)
{
    dd(Input::all());
    ...

我明白了

array:3 [▼
  "_method" => "DELETE"
  "_token" => "pBRx8u17C6KHFxzfhatx0BpnmOF5x55EWSP2lpis"
  "id" => "" <------ empty 
]

我仔细检查了一切。我似乎不知道我的id 为空的原因是什么,而我可以在浏览器的 HTML 中清楚地看到它。

如何进一步调试?

【问题讨论】:

  • id 是否正确发送到服务器?使用开发者控制台中的网络选项卡检查随发布请求发送的数据。
  • 您是否尝试将输入重命名为其他名称?
  • 尝试将字段名称例如更改为name="my_id"
  • 我知道这不能回答你的问题,但你也可以使用变量$id
  • @SzőkePéter -- 很好的提示,我现在就去做。

标签: php laravel laravel-5 input


【解决方案1】:

不推荐使用 Input 外观(从 5.0 开始?)。尝试使用 Request 类

public function destroy(Request $request) {
    $id = $request->input('id');
}

【讨论】:

  • 快速说明:默认情况下,输入外观不在config/app.php 中,但您仍然可以将'Input' =&gt; Illuminate\Support\Facades\Input::class, 添加到“别名”以使其工作
  • 在他的例子中还有$id作为函数参数
猜你喜欢
  • 1970-01-01
  • 2015-05-13
  • 1970-01-01
  • 2018-01-05
  • 2019-11-04
  • 1970-01-01
  • 2017-09-27
  • 2021-02-15
  • 2016-11-05
相关资源
最近更新 更多