는이 기사 읽기 : http://www.jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/제출에 아약스와 폼에 하위 폼을 추가
매우 흥미로웠다 그리고 그것을 잘 작동합니다.
동일한 작업을 수행해야하지만 SubForm을 사용해야합니다. 사용자가 버튼을 누르면 아약스를 통해 기존 폼에 하위 폼을 추가, 부착 및 표시하는 동작을 호출한다는 것을 의미합니다.
예 :
나는 사용자가 자녀의 이름과 성을 기입해야하는 양식을 가지고 있으므로 "Add Child"버튼이 있습니다. 사용자가 해당 버튼을 누르면 SubForm을 기존 양식에 추가하여 표시해야합니다. 제출시 해당 기사의 예와 똑같이 유효성을 검사합니다. 유일한 차이점은 단일 필드를 추가한다는 것입니다. SubForm을 추가해야하지만 정확히 같은 방식으로해야합니다. 이 거의 작동
public function clonerecursivegroupAction()
{
$this->_helper->layout->disableLayout();
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('clonerecursivegroup', 'html')->initContext();
$id = $this->_getParam('id', null);
$subform1 = new Zend_Form_SubForm();
$Element1 = $subform1->createElement('text', 'text1');
$Element1->setLabel('text1')->setRequired(true);
$Element2 = $subform1->createElement('text', 'text2');
$Element2->setLabel('text2')->setRequired(false);
$subform1->addElement($Element1);
$subform1->addElement($Element2);
$this->view->field = $subform1->__toString();
}
:
은 내가 (아약스 호출) 내 행동에 다음과 같은 노력했다.이 액션 뷰는 SubForm의 html 코드를 반환하므로 내 아약스 호출 성공시 나는 단지 그것을 표시한다.
문제는 제출시 양식의 유효성을 검사하지만 방금 추가 된 새 하위 양식이 손실되었음을 나타냅니다. 그것은 단지 하나의 요소가있는 기사에서 발생하지 않습니다. 난 그냥 기존 양식에 SubForm을 추가해야한다고 생각하지만 어떻게?
안녕 SAMUELE 를 내가 대부분의 라이브러리가 양식과 ID에 유효성 검증을 추가하는 경우 다른 양식을 추가하는 경우 (양식을 양식에 넣기) 완전한 양식의 유효성을 검증하지 않습니다. –