2017-03-23 15 views
1

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 
      ] 
     } 
    ] 
}] %} 
+0

質問から、あなたがしたいことは本当に明確ではありません。より多くの詳細や、必要なものの写真を提供できますか? –

答えて

1

あなたはそれを達成するか、JavaScriptで

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

フロントエンドコードに依存しないようにする2番目の方法をお勧めします。一部のユーザーは、一部のデバイスで広告を表示しないように、JavaScriptを無効にしています。 –

+0

@MartinFasani私は同意する – mickdev

0

セットタイトルフィールドとしてNULL可能真

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

たり、コントローラに(例えばからkeyupイベントでトリガ機能)付きフォームにタイトルフィールドを追加しないと、ヌル値の検証エラーになりません。

/** 
* @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... 
} 
関連する問題