如何设置symfony2表单按钮的样式

时间:2014-02-14 17:19:14

标签: html css forms symfony

如何简单地将css类或内联样式添加到这样的按钮?你有什么东西可以放在我得到标签的数组()中吗?

private function createDeleteForm($id)
{
    return $this->createFormBuilder()
        ->setAction($this->generateUrl('video_delete', array('id' => $id)))
        ->setMethod('DELETE')
        ->add('submit', 'submit', array('label' => 'Radera denna video'))
        ->getForm()
    ;
}

我尝试了查看元素id的老旧技巧,看看我是否可以通过将#ItsId放入我的css文件来破解它,但是没有它没有id。它呈现如下:

<form method="post" action="/site/web/app_dev.php/Media/video/1/delete">
    <input type="hidden" name="_method" value="DELETE">

        <div id="form">
            <div>
                <button type="submit" id="form_submit" name="form[submit]">
                    Radera denna video
                </button>
            </div>

            <input type="hidden" id="form__token" name="form[_token]" value="2c2889b6744aade419618485e1b3ce0c9c341a42">

        </div>
</form>

3 个答案:

答案 0 :(得分:3)

->add('submit', 'submit', array(
    'label' => 'Radera denna video', 
    'attr' => array('class' => 'class-you-wish-to-add')
));

这是一个副本: How to set a class attribute to a Symfony2 form input

答案 1 :(得分:2)

'attr'=> array('class'=>'span2')

尝试添加属性;)

答案 2 :(得分:1)

虽然您可以使用

将样式放入数组中
->add('submit', 'submit', array(
    'label' => 'Radera denna video',
    'attr'  => array(
        'class' => 'your-class',
    ),
)

在我看来,这是放置样式细节的错误位置。

在我看来,函数应该在Type中(所以如果你有一个基于bundle的javascript使用了set类,那么它应该在这个类中设置)但是样式应该基于模板

{{ form_widget(form.submit, {'attr': {'class': 'your-class'}}) }}

这样可以将表单放在其他模板中,而不必依赖于特定的样式。