Vyplňení defaultní hodnoty i po odeslání formuláře
- RomikTronik
- Člen | 27
Dobrý den,
chci aby se mi v inputboxu defaultně vyplňil nějaký text. Použiji tedy metodu $inputbox->setValue(‚defaultní text‘); Pokud ale formulář odešlu a formulář zaznamená chybu, místo nastavené hodnoty ponechá uživatelem vyplněnou. Jak mám docílit toho aby v každém případě nastavil nějakou defaultní hodnotu a nepřepisoval mi ji uživatelem vyplňenou?
- Solution
- Člen | 50
Zdravím,
nevím, jestli ti to pomůže, moc mi to nemyslí(hnusný čas), ale napadlo
mě tohle:
<?php
protected function createComponentFifteen()
{
$fifteen = new NAppForm();
$fifteen->addText('nejakyinput','')->addRule(NAppForm::FILLED,'Smůůla');
$fifteen->addSubmit('send','yes')->setDefaultValue('cica');
$fifteen->onSubmit[] = array($this,'Probiha');
$fifteen->onInvalidSubmit[] = array($this,'Nepodarilo');
return $fifteen;
}
public function Probiha()
{
}
public function Nepodarilo(NAppForm $form)
{
$form['nejakyinput']->setValue('cica');
}
?>
Názvů nevšímat, mně osobně to na localu šlo, podle tvých představ.
Bye.
- net-vor
- Člen | 35
No mně k tomu napadá jen dotaz, k čemu je potom textinput, když tam uživatel nemůže nic napsat… pak by to asi nemělo být řešeno textinputem, ale např. hiddeninputem, případně u textimputu nastavit atribut readonly, aby to nešlo přepisovat. Ale nevím, k v jaké situaci to potřebuješ, takže jenom uvažuju nahlas…
- RomikTronik
- Člen | 27
Jedná se o captchu, člověk vyplní text který vidí na obrázku, při špatném vyplnění formuláře se obrázek captchy změní, proto nechci aby tam zůstával původně vyplněný text.