disabled input

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

Ahoj,

narazil jsem na jeden problém při disablování input prvku formuláře.

Pokud použiju konstrukci

<?php
  $smsForm = new Form();
  $smsForm->addText('written','Napsáno znaků');
  $smsForm['written']->disabled = true;

  echo $smsForm;
?>

tak je prvek written správně vypsán disablovaný, ale když jej chci pomocí getControlPrototype() vypsat samotný

<?php
  echo $smsForm['written']->getControlPrototype();
?>

tak disablovaný není, ale při použití

<?php
  $smsForm['written']->getControlPrototype()->disabled = true;
  echo $smsForm['written']->getControlPrototype();
?>

se disablovaný vypíše, pro změnu jej ale formulář vypisuje enabled.

Tak jsem z toho trochu jelen.

Díky předem za objasnění

David Grudl
Nette Core | 8218
+
0
-

getControlPrototype() neslouží k vykreslování prvku formuláře, to je jen vzor, do kterého se ještě nějaké atributy (ID, name, ale i disabled) před vykreslováním doplní.

Jan Tvrdík
Nette guru | 2595
+
0
-

blacksun napsal(a):

když jej chci pomocí getControlPrototype() vypsat samotný, tak disablovaný není

Zkus místo getControlPrototype() použít getControl()

echo $smsForm['written']->getControl();