【问题标题】:Form two Textfields in one row在一行中形成两个文本字段
【发布时间】:2022-01-18 16:54:38
【问题描述】:

我想在 from 类的一行中设置两个 Text 字段。他们喜欢这样:

姓名 ______ _______

我在 Internet 上找不到任何东西。 我在 Form 类中使用了这段代码:

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name', TextareaType::class)
            ->add('surname', TextareaType::class);
    }

但这会显示如下:

姓名____

姓____

这在我的情况下是错误的。是否可以在表单类中做到这一点? 感谢您的帮助。

【问题讨论】:

  • 不纯粹是表单类型,但应该很容易在 twig 中为每个组件使用 specific form functions
  • 感谢@msg 的帮助,这很有帮助

标签: php forms symfony


【解决方案1】:

您可以通过执行以下操作以更自定义的方式显示您的 form_rows

不要以更通用的方式显示您的表单:

{{ form_start(myForm) }}
{{ form_widget(myForm) }}
{{ form_end(myForm) }}

事实上,你可以做下一个:

{{ form_start(myForm) }}
{{ form_row(myForm.field1) }}
{{ form_row(myForm.field2) }}
{{ form_widget(myForm) }}
{{ form_end(myForm) }}

这将允许您使用额外的参数以您想要的方式显示这些行,并且它将继续显示其余部分,因此您不需要使用form_row 每一行一旦你开始使用它。

现在,您可以使用 display: flex 实现您的要求,并将其方向设置为 row

使用引导

{{ form_start(myForm) }}
<div class = "d-flex flex-row">
    {{ form_row(myForm.field1) }}
    {{ form_row(myForm.field2) }}
</div>
{{ form_widget(myForm) }}
{{ form_end(myForm) }}

没有引导

{{ form_start(myForm) }}
<div style = "display: flex; flex-direction: row;">
    {{ form_row(myForm.field1) }}
    {{ form_row(myForm.field2) }}
</div>
{{ form_widget(myForm) }}
{{ form_end(myForm) }}

你可以把你想要的标签只放在field1上,所以field 2,没有标签,会按照你的要求出现在field 1的输入字段旁边。

【讨论】:

    猜你喜欢
    • 2016-05-23
    • 1970-01-01
    • 2020-04-19
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多