Pesquisa personalizada

Criar variável global apartir de uma funçao

10/08/2008 - 21:30 4 comentários

Meus caros,

Estes dias precisei passar uma variável para uma outra função e não conseguia se não fosse por variável global. Pois bem, seria muito fácil eu criar uma variável no começo do código e atribuir o valor a ela e depois pegar onde quisesse, porém não tinha acesso ao script principal e tive que dentro de uma função criar uma variável global para que a outra função enxergasse a variável. 

Olhem como fiz:

<script type="text/javascript">
    function executaAjax(id) {
        top.novaVariavelGlobal = id;
        …
            objAjax.onreadystatechange = funcaoExecutora;
        …
    }

    function funcaoExecutora() {
        alert(novaVariavelGlobal);
    }

    executaAjax('id_teste');
</script>

Notem que quando vou usa-lá não preciso mais do ‘top.’, pois agora ela é global.

Segue um exemplo para testarem:

<script type="text/javascript">
    function executa(id) {
        top.novaVariavelGlobal = id;

        document.onkeypress = funcaoExecutora;
    }

    function funcaoExecutora() {
        alert(novaVariavelGlobal);
    }

    executa('1');
</script>

É só criar uma página com o script acima e apertar o <ENTER>.

Abs,
Chapoo!

Autor: Chapolin - Categoria(s): Javascript Tags: , ,

4 comentários para "Criar variável global apartir de uma funçao"

  1. 15/12/2008 - 12:18 Enviado por: Chapolin

    Darcy,

    Realmente usar o php ou outra linguem simples como o shtml ajuda a eliminação dos iframes além de ser ótimo para SEO.

    Obrigado.

  2. 13/12/2008 - 22:36 Enviado por: Darcy

    Ao invés de Frames no velho html, procure usar php. Não é tão dificil assim =).

  3. 11/09/2008 - 16:18 Enviado por: Danilo Trindade

    Fabio,

    Testei e realmente não funciona o script da maneria que deveria…

    Realmente não pensei no frame, embora muitas pessoas prefiram não usar frames, vou pensar em algo e colocar a correção se possível.

    Att,
    Danilo.

  4. 11/09/2008 - 15:50 Enviado por: Fabio

    Se esse código estiver dentro de um frame vai dar erro !, mas pra quem não usa frame é uma otima dica !

Deixe um comentário