如何使用html表单发送数组

时间:2015-05-17 15:23:09

标签: arrays forms symfony twig

所以我需要将数组发送到其他页面。我试图通过以下形式制作:

<form action="{{ path('_przepisy') }}" method="post">
<input type="hidden" name = "produkty" value = "{{ sniadanie }}">
<input type="submit" class="btn btn-success pull-right" value="Przepisy"/>
</form>

&#34; sniadanie&#34;是数组,例如它的作用如下:sniadanie [0] [&#39; ilosc&#39;]

在页面&#34; przepisy&#34;我试着使用这段代码:

{% set produkty = app.request.get('produkty') %}
{{produkty[0]['iloscuser']}}

但它不起作用。有人知道我该怎么做?

1 个答案:

答案 0 :(得分:2)

这不是Symfony2特有的。它的基本HTML。您必须提供具有适当名称的多个输入。您无法在单个输入元素中发送数组值!这是基本的HTML !!

<form action="{{ path('_przepisy') }}" method="post">
<input type="hidden" name = "produkty[0][iloscuser]" value = "specific-value-from-sniadanie">
<input type="hidden" name = "produkty[1][iloscuser]" value = "specific-value-from-sniadanie">
<input type="hidden" name = "produkty[2][iloscuser]" value = "specific-value-from-sniadanie">
<input type="submit" class="btn btn-success pull-right" value="Przepisy"/>
</form>

但是你可以在一个元素中发送一个json字符串。

<form action="{{ path('_przepisy') }}" method="post">
    <input type="hidden" name = "produkty" value = "{{ sniadanie | serialize }}">
    <input type="submit" class="btn btn-success pull-right" value="Przepisy"/>
</form>

然后在控制器中

$this->render("your view", [
    'produkty'  => json_decode($request->get('produkty'))
]);

在模板中

{{produkty[0]['iloscuser']}}