이 질문이 다른 곳에 있으면 SO를 내게 밝혀주세요. 내 검색에 행운이 없었습니다.Zend Framework를 사용하여 동적으로 생성 된 양식 요소의 값 허용
딜레마 : 나는/업로드 내 아내를 가능하게 그녀의 사이트에 사진을 관리 할 수있는 인터페이스를 짓고 있어요
. 프로세스를 간소화하기 - 나는 그녀가 여러 이미지를 추가 할 수있을 것입니다 상기 '추가 사진'폼 행을 복제 구성 요소를 내장 한 번과 같이 :
마크 업 (Zend_Form에 의해 생성)
<section id="add-photos">
<form enctype="multipart/form-data" action="/admin/photo/add-photos" method="post">
<dl class="zend_form">
<dt id="AddPhotos-label"> </dt>
<dd id="AddPhotos-element">
<fieldset id="fieldset-AddPhotos">
<dl> <-- This element is what get's duplicated on the 'add
another image' button -->
<input type="hidden" name="id" value="" id="id" />
<dt id="image_name-label">
<label for="image_name" class="required">Image Name</label>
</dt>
<dd id="image_name-element">
<input type="text" name="image_name" id="image_name"
value="" />
</dd>
<dt id="album_name-label">
<label for="album_name" class="required">Album Name</label>
</dt>
<dd id="album_name-element">
<input type="text" name="album_name" id="album_name"
value="" />
</dd>
<dt id="category_name-label">
<label for="category_name" class="required">Category
Name</label>
</dt>
<dd id="category_name-element">
<input type="text" name="category_name"
id="category_name" value="" />
</dd>
<dt id="image-label">
<label for="image" class="optional">Image:</label>
</dt>
<dd>
<input type="hidden" name="MAX_FILE_SIZE" value="134217728"
id="MAX_FILE_SIZE" />
<input type="file" name="image" id="image" />
</dd>
<dt id="thumbnail-label">
<label for="thumbnail" class="optional">Is Thumbnail?
</label>
</dt>
<dd id="thumbnail-element">
<input type="hidden" name="thumbnail" value="0" />
<input type="checkbox" name="thumbnail" id="thumbnail"
value="1" />
</dd>
<dt id="AddAnotherPhoto-label"> </dt>
<dd id="AddAnotherPhoto-element">
<button name="AddAnotherPhoto" id="AddAnotherPhoto"
type="button">Add Another Photo</button>
</dd>
</dl>
</fieldset>
</dd>
<dt id="submit-label"> </dt>
<dd id="submit-element">
<input type="submit" name="submit" id="submit" value="Submit" />
</dd>
</dl>
</form>
</section>
사용자가 'AddAnotherPhoto'버튼을 클릭하면 <dl>
이 <fieldset>
안에 추가됩니다. 당신이 내 컨트롤러 액션으로 기대하는 것처럼,
<fieldset>
<dl></dl>
<dl></dl>
</fieldset>
:하지만 그것은 단지 요소 중 하나 개 세트를 캡처하는 것
public function addPhotosAction()
{
$form = new Form_AddPhoto();
if($this->_request->isPost()){
if($form->isValid($_POST)){
$photo_model = new Admin_Model_Photo();
$photo_model->addPhoto(
$form->getValue('image_name'),
$form->getValue('album_name'),
$form->getValue('category_name'),
$form->getValue('thumbnail')
);
}
}
$form->setAction('/admin/photo/add-photos');
$this->view->form = $form;
}
그래서 구조가 될 것입니다. 그래서 내 질문은 : 그룹화 된 방식으로 들어오는 모든 요소를 어떻게 캡처합니까? 요청 객체를 반복하는 방법이 있고 각 세트의 사진 모델에서 addPhoto 메서드를 호출합니까?
반복 작업이 쉽게 수행되는 $.ajax()
을 통해 프런트 엔드에서이 작업을 시도했지만 데이터가 작업에 너무 쉽게 전달되지 않았습니다.
구조적으로이를 해결하기위한 더 좋은 방법이 있는지 또는이 작업이 수행되는 다른 예가 있는지 알려주십시오.
덕분에, 켄
나는이 그래서 당신은 분명 뭔가가 필요하면 알려 주시기 설명하는 힘든 시간이 있었다.
참조 http://stackoverflow.com/questions/5632296/zend-framework-add-new-input-element-using-javascript/5640268#5640268 –
전체 데이터 세트를 ' $ form-> getValues ()를 호출하면 모든 값이 게시되고 필터가 적용된 배열이 반환됩니다. 모든 사진을 얻으려면 어레이를 반복해야 할 수도 있습니다. – RockyFord