Zpracování vlastnoručně vykresleného formuláře

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

Ahoj, potřeboval jsem si vykreslit pomocí nette vlastní formulář z jiného projektu, který nepoužívá nette. Jelikož formulář má v sobě i klasické seznamy a divy, tak jsem muselo vykreslit formulář takto:

latte:

<form action="něco" method="post" enctype="multipart/form-data" name="název">
                    <div id="nějaké_id1">
                        <div class="class_1"></div><h2>Nadpis <span class="class_2">nějaký text</span></h2>
                        <div class="class_3">
                            <input name="nazev_pole" type="text" size="40" maxlength="40" value="něco" /><br />
                            <div class="counter">Zbývá Vám <strong>XXX znaků</strong></div>
                        </div>
                    </div>
                    <div id="nějake_id2">
                        <div class="left"><ul><li class="current"><span class="class_4"></span>nějaký text2</li><li><span class="class_5"></span>nějaký text3</li><li><span class="class_5"></span>nějaký text_6</li></ul></div>
                        <div class="right"><input type="submit" class="class7" value="" /></div>
                        <div class="cleaner"></div>
                    </div>
                    </form>

Ale teĎ nevím, jak mám formulář zpracovat v presenteru…Můžete mi poradit? Díky…

David Matějka
Moderator | 6445
+
0
-

proc ho rucne nevykreslis pomoci nette? https://doc.nette.org/cs/forms#…

n.u.r.v.
Člen | 485
+
0
-

No právě jsem vůbec nepobral jak tam narvu ty moje div a ul li…

Edit, možná už pobral – jdu zkusit…

Editoval n.u.r.v. (26. 6. 2013 15:52)

n.u.r.v.
Člen | 485
+
0
-

ok, už to funguje…thx

n.u.r.v.
Člen | 485
+
0
-

Ahoj, narazil jsem na další problém – potřebuji vykreslit do formuláře 3 radiobuttony, ale každý na jiném místě (nebo spíš jeden mimo div a zbylé dva v divu pod tím prvním…)

když mám v presenteru:

$volby = array(
    'a' => 'volba 1',
    'b' => 'volba 2',
    'c' => 'volba 3'
);

...

$form->addRadioList('volby', '', $volby);

a v latte mám:

{input volby}

tak se vykreslí všechny 3 radio b. současně…Nevíte, jak to udělat, abych mohl vykreslit jeden zvlášť? Díky…

edit:

Trochu jsem předělal ten form, takže už by možná nevadilo mít buttony u sebe, ale pořád mám jeden problém – stále se mi vykresluje text u radiobuttonu nalevo a ne napravo od buttonu – jak to změnit?

Editoval n.u.r.v. (27. 6. 2013 15:42)

kaniobal
Člen | 5
+
0
-

n.u.r.v. napsal(a):

Ahoj, potřeboval jsem si vykreslit pomocí nette vlastní formulář z jiného projektu, který nepoužívá nette. Jelikož formulář má v sobě i klasické seznamy a divy, tak jsem muselo vykreslit formulář takto:

latte:

<form action="něco" method="post" enctype="multipart/form-data" name="název">
                    <div id="nějaké_id1">
                        <div class="class_1"></div><h2>Nadpis <span class="class_2">nějaký text</span></h2>
                        <div class="class_3">
                            <input name="nazev_pole" type="text" size="40" maxlength="40" value="něco" /><br />
                            <div class="counter">Zbývá Vám <strong>XXX znaků</strong></div>
                        </div>
                    </div>
                    <div id="nějake_id2">
                        <div class="left"><ul><li class="current"><span class="class_4"></span>nějaký text2</li><li><span class="class_5"></span>nějaký text3</li><li><span class="class_5"></span>nějaký text_6</li></ul></div>
                        <div class="right"><input type="submit" class="class7" value="" /></div>
                        <div class="cleaner"></div>
                    </div>
                    </form>

Ale teĎ nevím, jak mám formulář zpracovat v presenteru…Můžete mi poradit? Díky…

Pořád by mě zajímalo, jak nejjednodušeji zpracovat takto v šabloně vytvořený form. Umí s tím nette něco udělat, nebo je potřeba dokončit to celé „ručně“?

iNviNho
Člen | 352
+
0
-

Tak začínaš a ukončuješ ho párovo

<?php
{form nazovTvojhoForm}

{/form}
?>

Ak chceš do neho vkladať elementy, používáš

<?php
{input element}
?>

Ak mu chceš predávať vlastnosti

<?php
{input element class => "class", width => "100"}
?>

Takisto vkládaš aj lable

<?php
{label element /}
?>

Toto ti asi všetko stačí na manuálne vykreslovanie … Keby niečo https://doc.nette.org/cs/forms#…