Trabalhando com querystring e Javascript
Resolvi escrever o post anterior, pois percebi que algumas pessoas que estão começando com internet ou programação não sabiam o que era. Meu intuito em principio era falar apenas sobre como trabalhar com querystring no javascript.
Quando trabalhamos apenas com a interface de um projeto, ou com um site sem backend, não temos acesso a linguagens Servidor (ASP, JSP, PHP…). Isso se torna um problemão quando nos pedem que determinada página realiza uma ação, como por exemplo um alert, apartir do clique em uma outra página. Ficou confuso? Vou tentar melhorar.
Uma página, vou chamar de teste, ao ser aberta exibe um texto escrito “teste”, e mais nada. Uma segunda página, chamarei de index, exibe um link direcionado para a página “teste”, mas o projeto requer que após o clique no link, ao acessar a página seja exibido um alert dizendo “trabalhando com querystrings”. Como fazer isso? Com querystrings. Como? Utilize a função abaixo.
function QueryString(variavel){
var variaveis=location.search.replace(/\x3F/,"").replace(/\x2B/g," ").split("&")
var nvar
if(variaveis!=""){
var qs=[ ]
for(var i=0;i<variaveis.length;i++){
nvar=variaveis[i].split("=")
qs[nvar[0]]=unescape(nvar[1])
}
return qs[variavel]
}
return null
}
Explicando linha por linha:
function QueryString(variavel){ - define a função com o nome
var variaveis=location.search.replace(/\x3F/,”").replace(/\x2B/g,” “).split(”&”) - cria uma variável onde são pegadas todos itens da query.
var nvar - caria uma variável
if(variaveis!=”"){ - pergunta se a variável que criamos anteriormente com os itens da query tem conteúdo
var qs=[ ] - Cria uma variável array chamada qs
for(var i=0;i<variaveis.length;i++){ - faz um looping para percorrer todas as variáveis encontradas na query
nvar=variaveis[i].split(”=”) - define o valor da variáve
qs[nvar[0]]=unescape(nvar[1]) - define o valor para cada iten do array } - fecha o loop;
return qs[variavel] - retorna o que encontrou. Agora você tem como pegar os itens da query, mas ainda não está funcionando, pois você precisa chamar esta função de alguma maneira. Vou chamá-la através de uma escrita.
<script>
document.write('A query é:' + QueryString('id') )
</script>
A variável id chamada é a que passamos via barra de endereços. Ex.
www.leandrogarcia.com/tutorials/query/query.html?id=1
Vai ser exibido na tela A query é: 1 Abraços.
- Querystring
- Maxlength no Textarea, é possível?
- Como imprimir em Javascript?
- PHP: Trabalhando com horários - Fuso
- Função para abertura de pop-up
