Manuální vykreslování formulářů
- Payne
- Člen | 14
Dobrý den,
s Nette začínám a nemám dost času na učení se celého frameworku. Proto
využívám pouze laděnku (skvělá to věc) a formuláře.
Byl jsem nucen v jednom formuláři využít manuální vykreslování.
podmínka $form->isSuccess() nefunguje, $button->onClick() mi zas
„vypíše“ již po spuštění (bez kliknutí).
Máte někdo zkušenosti s tímto problémem?
Děkuji za odpověď.
- Payne
- Člen | 14
Dobrá tedy, doplním třídou.
class Confirm {
private $year;
function __construct($rok) {
$this->year = $rok;
}
public function show() {
$form = new NForm();
for($i=0; $i < $this->pocetZaznamu(); $i++) {
$sub[$i] = $form->addContainer($i);
$sub[$i]->addRadioList('schvaleno', '', array(1 => 'Ano', 0 => 'Ne'))
->setDefaultValue(1)
->getSeparatorPrototype()
->setName(NULL);
}
$form->addSubmit('submit', 'Odeslat');
$prom = dibi::query('SELECT p.Id, p.Jmeno, z.Zadanii FROM Prace p JOIN Zadani z ON p.Zadani_Id = z.Id WHERE Rok =', $this->year, 'ORDER BY Jmeno');
$txt = "<table border='1'>";
$pole = array();
foreach ($prom as $n => $row) {
$txt .= "<tr><td>".$row['Jmeno']."</td><td>".$row['Zadanii']."</td><td>".$form[$n]['schvaleno']->getControl()."</td></tr>";
$pole[] = $row['Id'];
}
$txt .= "<tr><td colspan='3'>".$form['submit']->getControl()->onClick($this->sql())."</td></tr></table><br>";
return $txt;
}
private function pocetZaznamu() {
$req = dibi::query('SELECT Count(*) AS Pocet FROM Prace WHERE ', array('Rok' => $this->year));
$pocet = $req->fetchAll();
return $pocet[0]['Pocet'];
}
private function sql() {
echo "afnbuigfbia";
}
}
funkce SQL() by se měla provést, po kliknutí na tlačítko
Editoval Payne (13. 3. 2012 15:08)
- Payne
- Člen | 14
Děkuji za odpověď, ale jak jsem psal. Nevyužívám žádný presenter
nebo továrničku (nebo si toho nejsem vědom). Tvoji radu jsem zkusil, bohužel
nereaguje.
Vždy jsem prozatím využíval if($form->isSuccess()) nebo setAction.
Bohužel v tomto případě bez výsledku.
Nějaké jiné nápady?
Jinak podle dokumentace je potřeba mít nějaké pravidlo, aby onSuccess fungovalo.. To jsem přidal, stále nic :( Už začínám být nešťastný
Editoval Payne (13. 3. 2012 17:45)