PC
Campo date
Fechado
Amigos boa tarde!
Estou com a seguinte dificuldade, tenho um form com duas datas inicial e final, o componente de data está preenchendo somente um dos campos, não é apresentando um componente para cada campo.
Segue abaixo o código que estou utilizando.
- <?php
- class TesteForm extends TPage
- {
- private $form_teste;
- public function __construct()
- {
- parent::__construct();
- $this->form = new TForm;
- $table = new TTable;
- $this->form->add($table);
- $datai = new TDate('datai');
- $dataf = new TDate('dataf');
- $table->addRowSet(new TLabel('Data Inicial'),array($datai,new TLabel('Data Final'),$dataf));
- $this->form->setFields(array($datai,$dataf));
- $vbox = new TVBox;
- $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $vbox->add($this->form);
- parent::add($vbox);
- }
- }
- ?>
Em anexo segue imagem de como os campos estão sendo exibidos.
Agradeço desde já a ajuda.
Grato
Olá Paulo!
Seu componente está aparecendo sim, porém parece que o tamanho reservado para a apresentação acabou ou os campos estão muito grande.
Faça o seguinte: set o tamanho dos campos com a propriedade size e utilize por volta de 80 a 100 no tamanho. Creio que ficará legal.
atte.
Eliezer
Realizei a alteração, porém, o problema persiste.
Paulo,
Colei seu código dentro do Tutor e o mesmo executou perfeitamente.
Isto me leva a crer que existe alguma coisa que foi mudada em sua
aplicação (estilos CSS, sobreescrita de classes) que está afetando
o funcionamento. Verifique se você está usando TODOS componentes
e estilos originais. Também evite de estipular altura (height) para
o form, isso não faz sentido.
Abraço,
Também estou com problemas no campo TDate.
No meu caso, também utilizo dois campos de data no mesmo form, o primeiro aparece ok, o segundo aparece com o botão de inserção automático de data desconfigurado, e ao clicá-lo ele altera a data do primeiro campo novamente, e não do segundo. Estou utilizando o Framework sem modificações alguma. O engraçado, é que também tenho instalado o Tutor, e no "FormQuickView" o mesmo erro acontece no Tutor. Porém, quando acesso a versão online do tutor, a mesma classe "FormQuickView" é exibida corretamente. Penso que talvez possa ter relação com o fato do meu servidor de testes ser Windows, versão de Apache, PHP, ou algo do tipo. Mas ainda não descobri.
Pessoal, identifiquei que o ID dos campos de data, que deveria ser único para cada um, estava ficando igual no resultado final do navegador, por alguma razão que desconheço, pois utilizei nomes diferentes para cada campo, inseri no form individualmente e tudo mais.
Então resolvi dar uma analisada na classe TDate e verifiquei que por alguma razão a função "uniqid()" neste caso não está gerando um id único para cada campo, se alguém souber me avise, pois com certeza é o mesmo problema que o amigo Paulo Correa teve. Mas enfim, para resolver eu modifiquei a linha 31, da classe "TDate", conforme abaixo:
Original:
Alterada:
Abraços!
Só para constar, eu tentei simplesmente ativar mais entropia no uniqid(), mas aí ele simplesmente sumia com o datepicker dos campos. Como estava sem tempo deixei concatenando com o rand() mesmo, pois funcionou. Se alguém tiver outra sugestão, ou apontar possíveis consequências desta alteração eu agradeço.
abraços!