Formulare

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
radvis
Začátečník | 110
+
0
-

Ahoj,

potřebuju na stránce 5 formulářů a všechny budou mít stejné „parametry“ (jméno, příjmení..) a budpou muset být vyplněné. Není způsob, jak udělat jen jednu komponentu?

Díky za rady.

JakubKohout
Člen | 92
+
0
-

Více formulářů asi ne, protože když odešleš jeden tak nemáš validaci na těch ostatních.

Ale co ti brání udělat

$form = new AppForm($this,$name);
for($i = 1; $i <6;$i++){
	$form->addGroup('Osoba č.'.$i)
	$form->addText('firstname-'.$i,'Jméno: ');
	$form->addText('surename-'.$i,'Přimení: ');
...
}
...
Klokan
Člen | 47
+
0
-

Nevim presne, co chces udelat, ale myslim, ze nejlepsi by to bylo udelat jako kontainer

<?php
$form = new AppForm($this,$name);
for($i = 1; $i <6;$i++){
        $sub = $form->addContainter($i);
        $sub->addText('firstname-'.$i,'Jméno: ');
        $sub->addText('surename-'.$i,'Přimení: ');
}
$form->addSubmit(...);
?>
Jakub Šulák
Člen | 222
+
0
-

a nejde to volat přes parametr $name v createComponent($name)?

David Grudl
Nette Core | 8133
+
0
-

Přesněji

<?php
$form = new AppForm($this,$name);
for($i = 1; $i <6;$i++){
        $sub = $form->addContainter($i);
        $sub->addText('firstname', 'Jméno: ');
        $sub->addText('surename', 'Přimení: ');
}
$form->addSubmit(...);
?>