Forms – bezdůvodné odstranění checkboxu

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

Ahoj,
mám checkbox ve formu: (nette 2.1.0, předem děkuji za doporučení aktualizovat … )

<form class="pure-form pure-form-aligned" n:name="editPageForm">
	<div class="pure-controls">
		<label for="ishowinmenu" class="pure-checkbox">
			<input type="checkbox" value="1" n:name="show_in_menu" id="ishowinmenu"> Zobrazit v menu
		</label>
	</div>
</form>

Továrnu:

	public function createComponentEditPageForm() {
    $form = new Nette\Application\UI\Form;
    $form->addhidden('id', $this->getParameter('id'));
    $form->addCheckbox('show_in_menu');
    $form->addSubmit('doProccessForm', 'Uložit');
    $form->onSuccess[] = $this->editPageFormSucceeded;
    return $form;
}

Nějak se nette chová divně.
Checkboxu n:name=„show_in_menu“ nette odstraní name i value a vždy vrací false. Otázka je proč?
Zkoušel jsem různě dávat pryč to value=„1“, apod., ale bez úspěchu. Jediné jak mi to při zaškrtnutí vrátilo True je tak, že jsem n:name změnil na name. To už se vykreslilo ok, jenže na to samozřejmě nejde použít setdefaults.
Čím to?

Šaman
Člen | 2666
+
0
-

Na první pohled odhaduji to id .Nepoužívej vlastní id, to si musí Nette doplnit samo.

Oli
Člen | 1215
+
0
-

Nepoužívej vlastní id, to si musí Nette doplnit samo.

Nebo si ho musíš přidat přes Nette.

$form->addCheckbox('show_in_menu')->setHtmlId('ishowinmenu');
David Grudl
Nette Core | 8239
+
0
-

Děje se to i na novější 2.1.x? Pokud ne, aktualizuj Nette.

neznamy_uzivatel
Člen | 115
+
0
-

Smazání id nepomohlo.. 2.1.10 to nedělá, tak jsem aktualizoval :)
Čekal jsem spíš, že něco dělám blbě, než že by to byla chyba..