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

标签 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 覆盖效果很好。

最佳答案

因为你不应该使用 attr。只需在主要的 form_widget 选项上设置 id:

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

关于php - 如何覆盖表单提交按钮ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45352410/

相关文章:

php - 试图调用名为 "getpreReady"的未定义方法 (Twig & Symfony3)

css - Symfony2 和 Assetic - 我的 CSS 中引用的图像无法加载

symfony - 关闭Symfony 2/ Twig 中的转义

javascript - 处理 PHP JavaScript (AJAX) 返回数据的最正确/友好的方法是什么?

php - 如何使用 Ubuntu 在本地浏览器中运行 PHP

php - 如何在AppBundle中添加 View ?

api - 使用 Postman 在 Symfony 中通过 API 接收 CSV

php - 访问 twig 中未映射的表单字段(Symfony 2.3)

php - 用于智能搜索的 Tricky SQL

php - 如何刷新正在执行php代码的div