dynamicke polozky formulare
- martin28
- Člen | 40
Ahoj, prosim o radu, jak udelam formular do ktereho zadavam pres js polozky?
<?php
final class ObjednavkaFormFactory
{
public function create(): Form
{
$form = $this->factory->create();
$form->addText('kde_jmeno', '');
$form->onSuccess[] = function (\Nette\Application\UI\Form $form, \stdClass $values): void {
var_dump($values);
};
return $form;
}
}
?>
a pak pres JS pridavam polozky objednavky
<input type=‚nazev[]‘ value=‚aaa‘><input type=‚cena[]‘
value=‚cena_aaa‘>
<input type=‚nazev[]‘ value=‚bbb‘><input type=‚cena[]‘
value=‚cena_bbb‘>
jak ziskam prosim ve zpracovani hodnot tyto polozky objednavky?
zkousel jsem to pres snipety, ale tam jsem narazil na stejny problem a predevsim se nepovedlo rozchodit refresh jenom daneho bloku. co jeste musim udelat?
<?php
{snippet wholeList}
<ul n:snippet="itemsContainer">
{foreach $list as $id => $item}
<li n:snippet="item-$id">{$item}</li>
{/foreach}
</ul>
{/snippet}
?>
<?php
public function handleAdd(): void
{
$this->template->list = $this->getTheWholeList();
$this->template->list[] = 'New one';
$this->redrawControl('wholeList');
}
?>
Ten handleAdd se zavola pres ajax to je v pohode spise se neprekresli ten snippet?
Dekuji za rady
Editoval martin28 (26. 5. 2020 7:28)
- Phalanx
- Člen | 310
A nechceš spíš použít multiplier a ajaxem?
https://github.com/…s-multiplier
Editoval Phalanx (26. 5. 2020 8:16)
- Phalanx
- Člen | 310
Navrhnul jsem ti to jen proto, protože jde o funkční řešení. Samozřejmě můžeš použít i to tvé.
- Dumpni $_POST místo $values, pokud dynamicky přidáváš políčka. Ve $values ty hodnoty nebudou.
$this->template->list = $this->getTheWholeList();
tento kód patří do renderDefault (která se ti zavolá po ajaxu)