Formulare, skryvanie submit buttonu

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

Mam vytvoreny formular ako komponentu, zobrazujem ho bud normalne na stranke, ak je vypnuty javascript alebo nacitam ajaxom. V pripade, ze je formular nacitany ajaxom chcem mat moznost ten formular znovu zatvorit. Na to posluzi tlacitko cancel, ktore vsak pri normalnom zobrazeni nema zmysel. Da sa nejak pri vytvarani formulara nastavit tomuto submitu display:none?

redhead
Člen | 1313
+
0
-

Pokud chceš tím tlačítkem jenom formulář schovat, tak bych ho tam vkládal dynamicky javascriptem a navěsil na ni akorát nějaký handler, který by formulář schoval. Pokud nebude javascript fungovat, tak se samozřejmě tlačítko nevloží.

Jinak všemu se dá nastavit co chceš:

$form->addSubmit(...)
	->getControlPrototype()
		->style('display: none');
tomas3333
Člen | 8
+
0
-

Dik, nakoniec som sa vsak rozhodol, ze vykreslim formulare rucne, aj preto, ze pri normalnom zobrazeni a ajaxovom bude viac odlisnosti. Narazil som vsak na problem, nefunguje mi odoslanie formularu.

<?php $form->render('begin') ?>

resp.

{!$form->render('begin')}

vygeneruje

<form action="" method="post" id="frm-">

a tym padom sa formular neodosle. Pri vytvarani formularu je nastavene toto:

$form->onSubmit[] = callback($this, 'saveQuestion');

Co robim zle?

redhead
Člen | 1313
+
0
-

Děláš ho přes továrničku?

Do šablony ho pak nijak nemusíš předávat přes proměnnou $form, ale vytáhneš si ho přes $presenter:

{control nazevFormulare 'begin'}
{control nazevFormulare 'errors'}

{var form => $control['nazevFormulare']}

{!$form['prvek']->label}
{!$form['prvek']->control}
atd...

{control nazevFormulare 'end'}
tomas3333
Člen | 8
+
0
-

tak to je iná… funguje krásne, dík