Criar variável global apartir de uma funçao
10/08/2008 - 21:30Meus 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!
Se esse código estiver dentro de um frame vai dar erro !, mas pra quem não usa frame é uma otima dica !
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.