我正在使用 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 覆盖效果很好。
最佳答案
因为你不应该使用 attr
。只需在主要的 form_widget
选项上设置 id:
form_widget(form.delete, { 'label': 'myCustomLabel','id': 'myCustomId' }) }}
关于php - 如何覆盖表单提交按钮ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45352410/