Postagem estática (sem recarga) de formulários O Adianti Framework usa de maneira extensiva Requisições AJAX em todos os processamentos de ações. Quando clicamos em uma ação de uma datagrid ou enviamos os dados de um formulário, somente o núcleo da página é recarregado, e não toda a página. Com isso, a navegação fica bastante fluida. Em um formulário, por exemplo, somente o núcleo da tela é atualizado para demonstrar as atuali...
PD
Postagem estática (sem recarga) de formulários  
Fechado
O Adianti Framework usa de maneira extensiva Requisições AJAX em todos os processamentos de ações. Quando clicamos em uma ação de uma datagrid ou enviamos os dados de um formulário, somente o núcleo da página é recarregado, e não toda a página. Com isso, a navegação fica bastante fluida. Em um formulário, por exemplo, somente o núcleo da tela é atualizado para demonstrar as atualizações que os campos sofreram após a postagem da ação. Como por exemplo, podemos citar o ID que é preenchido após a postagem.

Formulário


Entretanto, podemos até mesmo desligar esse comportamento e realizar a postagem estática do formulário. A postagem estática irá enviar os dados para o método, mas não irá recarregar o núcleo da página. O lado positivo é que serão transmitidos menos dados na requisição. O lado negativo é que não podemos usar a variável $this dentro de um método estático. Assim, devemos coletar os dados por meio do parâmetro $param.

No exemplo a seguir, pegamos o exemplo FormQuickView, que vem junto com o tutor, e marcamos o método onSave() como STATIC. Somente isso já fará com que somente os dados do formulário sejam postados para o método onSave(). Com isso, nenhuma parte da tela será recarregada, nem ao menos o formulário, como tradicionalmente ocorre. Nesse caso, não podemos usar a variável $this para chamar o $this->form->getData(), mas podemos obter todos os dados a partir da variável $param, que é um vetor. Dentro de um método estático podemos criar diálogos (TMessage) e também podemos invocar métodos estáticos como TForm::sendData().

 
  1. <?php
  2. class FormQuickView extends TPage
  3. {
  4. function __construct() { ... }
  5. public static function onSave($param)
  6. {
  7. // cria uma string com os valores dos elementos do formulário
  8. $message = 'Id: ' . $param['id'] . '<br>';
  9. $message.= 'Description : ' . $param['description'] . '<br>';
  10. $message.= 'Date1: ' . $param['date1'] . '<br>';
  11. $message.= 'Date2: ' . $param['date2'] . '<br>';
  12. $message.= 'Color : ' . $param['color'] . '<br>';
  13. $message.= 'List : ' . $param['list'] . '<br>';
  14. $message.= 'Text : ' . $param['text'] . '<br>';
  15. // exibe a mensagem
  16. new TMessage('info', $message);
  17. }
  18. }
  19. ?>


Obs: Para conferir a mudança, você pode inspecionar a página e monitorar o tamanho da requisição na aba "Network".

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


ML

Dentro desse metodo static eu posso atualizar um datagrid dos dados capturados com $param na minha pagina ?