2017-07-27 32 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