Span do formulare

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MelkorNemesis
Člen | 36
+
0
-

Ahoj, cim prosimvas docilim toho, abych mel ve formulari za inputem nejaky inline prvek, napr span?

$form->addText("email", "Email")
     ->addRule(Form::FILLED, "Vložte email")
     ->addRule(Form::EMAIL, 'E-mail není ve správném tvaru')
;
$form['email']->getControlPrototype()->onchange = 'checkEmailValidity(this);';
  • popr. jak tomu spanu nastavit ID.

Diky vsem za reakce

Editoval MelkorNemesis (22. 2. 2009 1:13)

_Martin_
Generous Backer | 679
+
0
-

Můžeš zkusit takovou obezličku:

$renderer = $form->getRenderer();
$renderer->wrappers['control']['description'] = 'span';

$form['email']->setOption('description', 'Text spanu');

Není to moc systémové řešení, ale třeba se najde někdo, kdo přijde s lepším návrhem =)

Editoval _Martin_ (22. 2. 2009 12:27)

MelkorNemesis
Člen | 36
+
0
-

uz je to o neco lepsi, sice to tam vklada „<small>text</small>“, ale muzu tomu jeste priradit ID kvuli javascriptu?

pmg
Člen | 372
+
0
-

Myslím, že je to pěkné řešení. Pokud prvku potřebuješ nastavit nějaké atributy, mělo by fungovat toto:

$renderer = $form->getRenderer();

$span = Html::el('span', 'Text spanu')->id('htmlId');
$form['email']->setOption('description', $span);

Viz ConventionalRenderer::renderBody a Html.

MelkorNemesis
Člen | 36
+
0
-

skvele, diky a
omlouvam se za mozna hloupe dotazy, s nette delam prvnich par hodin

Editoval MelkorNemesis (22. 2. 2009 12:24)

_Martin_
Generous Backer | 679
+
0
-

Měl jsem tam chybku v názvu wrapperu, opravil jsem to. Ale teď už to je vcelku jedno, řešení od pmg je lepší =)

pmg
Člen | 372
+
0
-

Hlavně, že jsme to společnými silami dali dohromady, ne? ;-)

MelkorNemesis, přeji hodně úspěchu s Nette, určitě se ještě uvidíme.