Я пытаюсь объединить значение из боковой панели в открытом Zend_Form.
Это работает в основной части, но не тогда, когда я сначала изменяю значение в текстовой области, а затем принимаю " textbaustein "из боковой панели. Тогда набор записей будет вновь извлечен из базы данных, поэтому дальнейшие внесенные изменения будут потеряны. Я понимаю, почему это не сработает, но мой вопрос, как это сделать правильно. Вероятно, я должен использовать JS? Но как это сделать?
Фрагмент editAction
public function editAction()
{
$adapter = $this->authService->getAdapter();
if(!$this->authService->hasIdentity())
{
return $this->redirect()->toRoute('index', ['action' => 'index']);
}
else {
// $user1= $this->authService->getIdentity();
// $rolle=$this->UserTable->getRole($user1);
// $loge = $this->UserTable->getLoge($user1);
$id = $this->params()->fromRoute('id', 0);
if (strstr($id,"-") == true){
$analyseid =substr($id,0,strpos($id,"-"));
$helper=substr($id,strlen($analyseid)+1,strlen($id));
}
else {
$analyseid =$id;
$helper=0;
}
if (($analyseid>= 0)) {
try {
$va = $this->vaTable->getVertragsanalyseneu($analyseid);
} catch (\Exception $e) {
return $this->redirect()->toRoute('vertrag', ['action' => 'index']);
}
if ($helper>0) { //text soll übernommen werden
if (isset($va)){
$this->vaTable->saveVertragsanalyse($va);
}
$bausteintext= $this->baustein()->getBausteintext($helper);
$va->besonderheiten = $va->besonderheiten . ' ' . $bausteintext;
$this->vaTable->saveVertragsanalyse($va);
}
$old=(array) $va;
$form = new VABesonderheitenForm(NULL, $this->db);
$form->bind($va);
$form->get('submit')->setAttribute('value', 'speichern');
$request = $this->getRequest();
// $viewData = ['id' => $analyseid, 'form' => $form, 'bausteine'=> $this->baustein()->getBausteine(1)];
if (!$request->isPost()) {
//return $viewData;
return ['id' => $analyseid, 'form' => $form, 'bausteine'=> $this->baustein()->getBausteine(1)];
}
А вот как это выглядит: