Esse artigo faz parte da revista Clube Delphi Edição 73. Clique aqui para ler todos os artigos desta edição

p;

Não são raras as vezes em que precisamos adicionar algum comportamento dinâmico a uma página Web. Exibir mensagens de alerta ou confirmação, redirecionar usuários para outras URLs, alterar a visibilidade de um controle, são tarefas necessárias em qualquer aplicação.

Porém, nem sempre queremos fazer uma nova requisição ao servidor para resolver coisas simples. Este artigo trará algumas idéias de como solucionar isso via JavaScript, de maneira simples e organizada.

 

A classe TJavaScriptDirector

 

O primeiro passo é criar uma classe que ficará responsável por manipular todo o código JavaScript da nossa aplicação. A classe TJavaScriptDirector é um exemplo (Listagem 1).Você pode encontrar o código completo da classe no endereço para download deste artigo, e apenas adicionar a unit ao projeto que fará uso das suas funcionalidades.

 

Listagem 1. A unit JavaScriptDirector

 

unit JavaScriptDirector;

 

interface

 

uses

    System.Web. System.Web.UI.

    System.Web.UI.HtmlControls,

    System.Web.UI.WebControls. System.Text;

 

type

    TJavaScriptDirector = class

    private

       class function HTMLEncode (

         s: string); string; static;

       class procedure RegisterStartupScript (

          AOwner: System.Web.UI.Page; Key: string;

          Code: stringBuilder); static;

 

       class procedure PrintStartScrip t(

          Code: stringBuilder); static;

       class procedure PrintEndScript (

          Code: stringBuilder); static;

       class procedure PrintConfirm (Question: string;

          Code: stringBuilder); static;

       class procedure PrintAlert (Information: string;

          Code: stringBuilder); static;

       class procedure PrintRedirect (ToPage: string;

          Code: stringBuilder); static;

    public

       class procedure AddStartupSetFocus (

          AOwner: System.Web.UI.Page;

          const ElementID : string); static;

       class procedure AddStartupShowMessage (

          AOwner: System.Web.UI.Page;

          const AMessage: string); static;

       class procedure AddStartupShowMessageAndRedirect (

          AOwner: System.Web.UI.Page; const Information,

          ToPage: string); static;

       class procedure AddStartupConfirmAndRedirect (

          AOwner: System.Web.UI.Page;Question,

          RedirectTo: string); static;

 

       class procedure AddFunctionSetVisibility (

          AOwner: System.Web.UI.Page); static;

...

Quer ler esse conteúdo completo? Tenha acesso completo