将字段值复制到另一个字段

时间:2017-03-23 12:11:40

标签: symfony twig

我想隐藏form.title字段并将form.title字段值设置为form.oro_eventname
用户只能看到form.oro_eventname,但form.oro_eventname的值会复制到form.title

任何人都可以告诉我该怎么做吗?

{% set dataBlocks = [{
    'title': 'General Information'|trans,
    'class': 'active',
    'subblocks': [
        {
            'title': '',
                'data':  [
                form_row(form.title),
                form_row(form.oro_eventname),
                form_row(form.description),
                form_row(form.backgroundColor),
                form.calendarUid is defined ? form_row(form.calendarUid) : null,
                form_row(form.attendees),
                entity.recurrence is null ? form_row(form.reminders) : null,
                form_row(form.notifyAttendees),
                invitations.notify_attendees_component()
            ]
        },
        {
            'title': '',
            'data':  [
                '<div ' ~ UI.renderPageComponentAttributes(calendarEventDateRange) ~ '>' ~
                form_row(form.start) ~
                form_row(form.end) ~
                form_row(form.allDay) ~
                '</div>',
                form.recurrence is defined ? form_row(form.recurrence) : null
            ]
        }
    ]
}] %}

2 个答案:

答案 0 :(得分:1)

你可以用javascript(例如触发keyup事件的函数)来实现它

$('#id_title').val() = $('#id_oro_eventname').val();

或在您的控制器中

$title = $form->get('oro_eventname')->getData();
$yourEntity -> setTitle($title);

答案 1 :(得分:0)

在实体中将title字段设置为nullable true,如果不在表单中添加title字段,则不会通过null值的验证错误。

/**
 * @var string
 *
 * @ORM\Column(name="title", type="string", length=30, nullable=true)
 */
private $title;

如果表单有效,则在添加/编辑操作集标题值中。

if ($form->isValid()) {
    $event = $form->getData();
    $event->setTitle($event->getOroEventname());

    // Other code like persist flush redirect...
}