gpt4 book ai didi

forms - Symfony2 用 Twig 形成隐藏字段

转载 作者:行者123 更新时间:2023-12-01 23:54:03 27 4
gpt4 key购买 nike

我们已经设置了一个表单/ View 来创建一个有效的实体,但我们正在尝试向页面添加第二个表单/ View (以更新创建的值),并隐藏相关实体的字段。如果我们提交带有隐藏字段的表单,该字段将被解释为空,而实际上我们只想跳过填写/使用前一个值的需要。

{{ form_start(form) }}
{% do form.name.setRendered %}
{{ form_widget(form.quantity) }}
{{ form_widget(form.submit) }}
{{ form_end(form) }}

如果我们提交表单,我们的关系将被删除而不是保留以前的值。
我们还尝试使用 {{ form_widget(form.name, { 'attr': {'disabled': 'disabled'} }) }} 禁用该字段。但这虽然禁用了该字段,但仍然返回相同的效果。

在 Controller 中,当 $form->handleRequest($entity) 时,我们可以看到值被剥离的位置。运行,但我们无法找到一种方法来确保在不显示字段的情况下保持关系。

最佳答案

老问题,但对于任何感兴趣的人,这是解决此问题的另一种方法。检查 Twig Template Form Function and Variable Reference .
例子
我有一系列表格并希望使用 Awesome Bootstrap Checkbox .在 Twig 中,我访问每个表单变量并手动创建元素:

{% for form in forms %}
{{ form_start(form, {'attr': {'class': 'list-group-item' }}) }}
<input type="hidden" name="{{ form.title.vars.full_name }}" value="{{ form.title.vars.value }}">
<div class="checkbox checkbox-info checkbox-circle">
<input type="submit" name="submit" value="Update" class="btn btn-success pull-right">
<input type="checkbox" class="styled" id="todo{{ loop.index }}">
<label for="todo{{ loop.index }}">{{ form.title.vars.value }}</label>
</div>
{{ form_widget(form._token) }}
{{ form_end(form, {'render_rest': false }) }}
{% endfor %}
编辑:Twig 模板表单函数和变量引用仅适用于 Symfony 2.7 及更高版本。

关于forms - Symfony2 用 Twig 形成隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25064243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com