【发布时间】:2016-06-23 15:42:50
【问题描述】:
我正在使用 Symfony2 创建一个自定义表单。我使用 Symfony 创建了表单的“第一部分”,代码如下:
class TelemedidaMecanicaLecturaType extends AbstractType{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('fecha')
->add('valor')
;
}
}
然后,在 Twig 模板中,我需要添加三个额外的字段:提交按钮和两个隐藏的输入,我需要它们来获取一些重要信息。 我试图这样做:
<form method="post" id="FormLec{{um.id}}">
{{ form_widget(formLecArr[um.um]) }}
<input type="hidden" name="um" value="{{um.id}}"/>
<input type="hidden" name="telemedidaMecanica" value="{{telemedidaMecanica.id}}"/>
<input type="submit" value="Crear"/>
</form>
但是当我发送表单并尝试从控制器获取数据时,我只得到“fecha”和“valor”值。这很奇怪,因为缺少的字段显示在 HTML 文本中(使用 chrome 中的检查代码实用程序)并且提交按钮正常工作。 “嗯”和“telemedidaMecanica”值在哪里? 我做错了什么?
谢谢! 艾萨克。
【问题讨论】:
-
您需要将所有表单字段添加到 FormType 中,否则它们会被忽略。您是否有理由无法在 Type 中获取这些值并将它们设置为那里的默认值。如果没有,您可以将它们放在模板中的其他位置,并在加载后使用 jQuery 或其他方式设置它们,但这有点倒退。
标签: php html forms symfony twig