如何覆盖表单提交按钮ID?

时间:2017-07-27 13:35:32

标签: php symfony twig

我使用attr选项为我的删除表单按钮设置自定义ID:

{{ form_widget(form.delete, { 'label': 'myCustomLabel', 'attr': {'id': 'myCustomId'} }) }}

但除了' id' 属性外,它适用于任何内容(例如' class' )。该ID仍然是' form_delete' ,即使使用表单构建器我也无法更改它:

$this->createFormBuilder(null, ['csrf_protection' => false])
        ->setAction($this->generateUrl('task_delete', array(
            'prefix' => self::getTaskMapper()::getPrefix($task),
            'id' => $task->getId()
        )))->add('delete', SubmitType::class, [
            'label' => 'delete',
            'attr' => ['id' => 'MyCustomId']
        ])
        ->setMethod('DELETE')
        ->getForm();

为什么会这样?我该如何覆盖它?

表单ID覆盖效果很好。

1 个答案:

答案 0 :(得分:2)

因为您不应该使用attr。只需在主form_widget选项上设置ID:

form_widget(form.delete, { 'label': 'myCustomLabel','id': 'myCustomId' }) }}