【问题标题】:how to style a symfony2 form button如何设置 symfony2 表单按钮的样式
【发布时间】:2014-03-14 04:21:36
【问题描述】:

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

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>

【问题讨论】:

标签: html css forms symfony


【解决方案1】:
->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

【讨论】:

    【解决方案2】:

    虽然您可以使用

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

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

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

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

    这允许您将表单放置在其他模板中,而无需绑定特定的样式。

    【讨论】:

      【解决方案3】:
      'attr'=> array('class'=>'span2')
      

      试试这个来添加一个属性;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-06
        • 2012-07-29
        • 2013-06-08
        • 2023-03-21
        • 1970-01-01
        • 2012-08-31
        • 2015-03-11
        • 2011-03-07
        相关资源
        最近更新 更多