我想在我的symfony2表单上定义一个id属性.
我在我的树枝模板中试过这个:
{{ form_start(form, {'id': 'form_person_edit'}) }}
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用.
Sir*_*ton 110
你试过attr吗?
{{ form_start(form, {'attr': {'id': 'form_person_edit'}}) }}
Run Code Online (Sandbox Code Playgroud)
jcr*_*oll 23
在传递给表单构建器的options数组中注入id:
public function newAction(Request $request)
{
// create a task and give it some dummy data for this example
$task = new Task();
$task->setTask('Write a blog post');
$task->setDueDate(new \DateTime('tomorrow'));
$form = $this->createFormBuilder($task, ['attr' => ['id' => 'task-form']])
->add('task', 'text')
->add('dueDate', 'date')
->add('save', 'submit', ['label' => 'Create Post'])
->getForm();
return $this->render('AcmeTaskBundle:Default:new.html.twig', [
'form' => $form->createView(),
]);
}
Run Code Online (Sandbox Code Playgroud)
或者在表单类型中:
class TaskType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('task')
->add('dueDate', null, ['widget' => 'single_text'])
->add('save', 'submit');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults([
'data_class' => 'Acme\TaskBundle\Entity\Task',
'attr' => ['id' => 'task-form']
]);
}
public function getName()
{
return 'task';
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
此外,我应该补充上面提到的答案,你可以在你的控制器中这样做:
$this->createForm(FormTypeInterFace, data, options);
Run Code Online (Sandbox Code Playgroud)
对于示例 - 我是这样做的:
$this->createForm(registrationType::class, null, array(
'action' => $this->generateUrl('some_route'),
'attr' => array(
'id' => 'some_id',
'class' => 'some_class'
)
));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55576 次 |
| 最近记录: |