繁体   English   中英

使用 FormData Laravel 将值数组发送到控制器

[英]Send array of values to controller using FormData Laravel

我有一个表格,从中我可以从最终用户那里获得营业时间和关闭时间。 用户可以输入多个开放时间和关闭时间的值。 问题是我只得到数组中的第一个时间值,而不是所有输入的值。 如何使用 Formdata 将值数组发送到我的控制器?

刀刃

<form>
     <input name="closing_time[]" id="closing_time" placeholder="18:00" />
    .......
</form>

JavaScript

 .....
  formData.append("closing_time[]", document.getElementById('closing_time[]').value);
 .....

控制器

$closing_time = $request->input('closing_time');

dump($opening_time,$closing_time);

输出: 在此处输入图片说明

您正在通过 id 获取元素,而您只有一个 html 元素。

formData.append("closing_time[]", document.getElementById('closing_time[]').value);

按类名获取元素遍历元素并获取值还将这些值存储在 javascript 数组中,然后将其附加到 formData

根据HTML 规范ID属性在页面中应该是唯一的:

此属性为元素分配名称。 此名称在文档中必须是唯一的。

如果您有多个具有相同 ID 的元素,则您的 HTML 无效。

因此, getElementById()仅返回单个元素。 你不能让它返回多个元素。

有几个相关的函数将返回一个元素数组 - getElementsByNamegetElementsByClassName可能更适合您的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM