addDynamic ajax nefunguje
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- iNviNho
- Člen | 352
Nazdar chlapi,
Snažím sa rozbehať Replicator. Chcem mať jednoducho názov a k nemu obrázok. Button ked kliknem, tak sa mi vytvorí nový addUpload … Bez ajaxu to funguje presne tak ako chcem. Avšak po pridaní triedy ajax, už nie …
Používam nette.ajax.js
Presenter
<?php
public function createComponentPridajVyhlad() {
$form = new Form();
$form->addText("nazov","Názov");
$users = $form->addDynamic('users', function (Container $user) {
$user->addUpload("obr","Obrázok");
}, 1);
$users->addSubmit('add', 'Přidat')->addCreateOnClick(TRUE)->setAttribute("class","ajax");
$form->addSubmit("pridaj", "PRIDAJ VÝHĽAD");
$form->onSuccess[] = callback($this, "pridajVyhlad");
return $form;
}
public function pridajVyhlad(Form $form) {
if ($this->isAjax()) {
$this->invalidateControl("pridavanievyhladov");
}
}
?>
Template
<?php
{snippet pridavanievyhladov}
{form pridajVyhlad}
{foreach $form['users']->containers as $id => $user}
{label users-$id-obr /} {input users-$id-obr}
{input users-add}
{/foreach}
{/form}
{/snippet}
?>
Logicky mi tam niekde chýba priraďovanie nových položiek do toho snippetu aby sa mohol na novo prekresliť.
Ďakujem za pomoc
- romiix.org
- Člen | 343
Žiaľ nepomôžem, iba odcitujem dokumentáciu:
Replicator se krajně nehodí na zpracovávání uploadů. Pokud nemáte detailní znalosti fungování formulářů a vyloženě nepotřebujete funkčnost Replicatoru, zvažte raději použití nějaké „Multiple File Upload“ komponenty.