2017-07-27 54 views
3

我使用attr选项来设置自定义ID为我删除表单按钮:如何覆盖表单提交按钮ID?

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

但它与任何东西(“阶级”为例),除了“ID”属性适用。 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覆盖效果很好。

+0

作注:ID不能是数字 – ThisGuyHasTwoThumbs

+0

我想的话,它不希望被改变 – Audiophile

+0

我不是树枝专家,所以我可以”实际上帮助 - 但ID不能是数字句号,这只是HTML – ThisGuyHasTwoThumbs

回答

2

因为你不应该使用attr。刚才设置的ID在主form_widget选项:

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

耶稣......这是非常愚蠢的同时(不知道为什么ID不是一个属性)。谢谢 – Audiophile