Předání hodnoty z URL a její použití v obou částech generování formuláře
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- Ladis-s
 - Člen | 53
 
Je to dost začátečnický problém. Mám hodnotu, která je jako parametr
v URL a při prvním generování formuláře si ji uložím do hidden. Při
odeslání formuláře se již tento hidden nevytvoří, protože již nemám tu
proměnnou v URL a tím pádem se mi ani nezobrazí v poli odeslaných
dat.
Nevíte co s tím?
if($this->getParam('poprve') == 'ano'){
	$form->addHidden('poprve',$this->getParam('poprve'));
}
				
- Filip Procházka
 - Moderator | 4668
 
Co takhle ten hidden vytvořit vždycky, ale dát mu hodnotu, jenom když je ten parametr v url?
public function actionDefault($poprve = NULL) // fakt se to tam automaticky dosadí
{
	if ($poprve !== NULL) {
		$this['jmenoFormulare']['poprve']->setDefaultValue($poprve);
	}
}
public function createComponentJmenoFormulare($name)
{
	$form = new AppForm($this, $name);
	// ...
	$form->addHidden('poprve');
	//...
}
				
- Filip Procházka
 - Moderator | 4668
 
První požadavek
- zavolá se akce, té se magicky předají parametry z query, o které si řekne (pomocí parametrů)
 - protože se zatím jenom renderuje, tak metoda setDefaultValue nastaví výchozí hodnotu
 - formulář vyplníš a odešleš
 
Druhý požadavek
- v url už není parametr, takže se nepokouší ho nastavit (ani by ho
	nenastavil, protože 
setDefaultValue) - formulář příjme v requestu POST data a zpracuje
 - zavolá tvoje události