Atributy elementu FORM
- Eskel
- Člen | 5
Chtěl bych se zeptat zdali je nějaká možnost nastavit html atributy (zejména id a class) tagu Form, vykreslovaného přes metodu renderBegin ConventionalRendereru. Předem upozorňuji, že jsem těžký začátečník, kvůli tomuto čerstvě registrovaný. :)
Po několika hodinách studování formulářů Nette a snaze přiblížit se své původní html šabloně je to poslední co mi zbývá ke spokojenosti. Formulář vytvářím továrničkou createComponent[jmeno] a vykresluji manuálně.
<?php
{!$form->render('begin')}
{!$form->render('errors')}
{!$form['text']->label}
{!$form['text']->control}
{!$form['ok']->label}
{!$form['ok']->control}
{!$form->render('end')}
?>
Tedy otázka zní, je nějaký způsob jak formu jako takovému id a class nastavit? Příjde mi to jako validní požadavek, stejně jako dát tyto atributy samotným formulářovým prvkům.
Hledám něco jako:
<?php
$form->setId('idcko');
$form->setClass('trida');
?>
Praktický dopad je tedy jen ten, že to nebudu muset obalovat do dalšího elementu, kvůli css selektoru.
Předem díky za odpověď.
- Cifro
- Člen | 245
Z jabberu: [20:10:39] <iguana007> a jak resite name atribut u formularu? podle validatoru by tam nemel co delat
A už podľa špecifikácie pre HTML4 je to „deprecated“:
name = cdata [CI]
This attribute names the element so that it may be referred to
from style sheets or scripts. Note. This attribute has been included
for backwards compatibility. Applications should use the id attribute to identify elements.
Prihovoril by som sa, za to že namiesto name
aby Nette
generovalo id
.
<form name="frm-....">
<form id="frm-....">
Editoval Cifro (15. 1. 2010 2:25)