jak ve formuláři vypnout editaci pole ale zobrazit data

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

Ahoj, dá se nějak nastavit na textová pole ve formulaři set Disabled, ale tak, aby v nich byla zobrazena hodnota ?

Kdyz nastavím hodnotu a potom nastavim setDisabled … tak se pole zobrazí prázdné

Díky

Oli
Člen | 1215
+
0
-

Mám pocit, že se to musí udělat obráceně. Nastavit disabled a potom naplnit daty.

malkol
Člen | 133
+
0
-

Funguje .. díky

Šaman
Člen | 2635
+
0
-

Jenom pozor na to, že disabled inputy se neodesílají, takže ta nastavená hodnota se ti nepřenese.
Vím to už dlouho, ale stejně se na to občas nachytám. Naposledy, když jsem si ten input „zapínal“ pomocí JS a i přesto se mi neodeslal – nerozhoduje stav v okamžiku odeslání, ale stav nově vytvořeného formuláře. (Resp. abych byl přesný, tak se hodnota odeslala, ale Nette ji zahodí.)

CZechBoY
Člen | 3608
+
+3
-

@Šaman: pokud je potřeba odeslat hodnotu na disabled inputu tak třeba takhle:

$input = $form->addInput('text');
$input->setDisabled(true); // nejdřív vypnout editaci
$input->setOmitted(false); // potom vypnout neodesílání
Šaman
Člen | 2635
+
0
-

@CZechBoY: Díky, tohle jsem neznal. Ale on ten problém je většinou spíš v tom, že na to zapomenu a pak se divím, proč to nešlape. Tak proto jsem na to raději upozorňoval i tady. :)

her-ur
Člen | 20
+
0
-

@Šaman Nebo nastavit input jako readonly.