Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andreia_sp

QueryString no Javascript

Recommended Posts

Imagem PostadaImagem Postada

 

<HTML>
<HEAD>
<TITLE> [url="http://www.asparena.eti.br</TITLE"]www.asparena.eti.br</TITLE[/url]>
<script language="Javascript">
qs=new Array()
variaveis=location.search.replace(/\x3F/,"").replace(/\x2B/g," ").split("&")

if(variaveis!=""){
 for(i=0;i<variaveis.length;i++){
 nvar=variaveis[i].split("=")
 qs[nvar[0]]=unescape(nvar[1])
 }
}

function QueryString(variavel){
 return qs[variavel]
}
</script>

</HEAD>


<script language="Javascript">
if(variaveis!=""){
 // Pode-se colocar quantas variaveis precisar.
 nome=QueryString("nome");
 document.writeln ("O valor da variável nome é: " + nome + "<P>");
 
 sobrenome=QueryString("sobrenome");
 document.writeln ("O valor da variável sobrenome é: " + sobrenome + "<P>");
 
 idade=QueryString("idade");
 document.writeln ("O valor da variável sobrenome é: " + idade + "<P>");
}
</script>
</BODY>
</HTML>

<a href="querystring.html?nome=fulano&sobrenome=silva&idade=52">clique no link para gerar as variáveis</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra maneira para quem se interessar.

 

Método GET em Java Script:

 

<html>
<head>
<script type="text/javascript">
var find = false;
var numParametros = 0;

function QueryString(parametro) {
var posInt = window.location.href.indexOf('?',0);

//Pegando a parte da string que possui os parâmetros (após o ?);
var strGets = window.location.href.slice(posInt+1);

//Verificando se foram passados parâmetros para a string;
//Se posIgual for maior ou igual a 1, foram passados parâmetros via GET: (Pelo menos uma letra: p=);

var posIgual = strGets.indexOf('=',0);
//E o código a seguir será executado:
if (posIgual >= 1) {
      
    
	strParam = new Array();
    //alert(strGets);
    //Contando quantos parâmetros foram passados via GET;
    //Para isso, vamos contar quantos "&" existem na string;
    //Se não houver "&": apenas um parâmetro foi passado!
    if (strGets.indexOf("&",0) == -1) {
        //Pegando o parâmetro e seu valor:
        strParam[0] = new Array();
        strParam[0] = strGets.split("=");
        numParametros=1;
		
			if (strParam[0][0] == parametro){
                    find = true;
					//Verficando se o parâmetro contém algum valor:
					if (strParam[0][1].length > 0) {
						//alert(strParam[0][0]+" = "+strParam[0][1]);
						return strParam[0][1];
					} else {
						alert("O parâmetro "+parametro+" não contém valor.");
					}
			}
    
	//Se houver um ou mais "&", mais de um parâmetro foi passado:
	}else{
        //Quebrando a string strGets em array através do delimitador "&";
        strParametros = strGets.split("&");
        numParametros = strParametros.length;
		
		//Ex: strParamTotais[0]="p1=valor1"; strParamTotais[1]="p2=valor2";
        for (var i=0; i<strParametros.length; i++) {
            strParam[i] = new Array();
            strParam[i] = strParametros[i].split("=");
            
				if (strParam[i][0] == parametro){
                    find = true;
					
					//Verficando se o parâmetro contém algum valor:
					if (strParam[i][1].length > 0) {
						//alert(strParam[i][0]+" = "+strParam[i][1]);
						
						return strParam[i][1];
					} else {
						alert("O parâmetro "+parametro+" não contém valor.");
					}
                }
        }
	}
		if (find == false) {
            alert("O parâmetro '"+parametro+"' não foi localizado!");
        }
}

}

function ParList() {
var lPar = "";
var posInt = window.location.href.indexOf('?',0);

//Pegando a parte da string que possui os parâmetros (após o ?);
var strGets = window.location.href.slice(posInt+1);
var strParametros = strGets.split("&");
	
	for(var iLoop = 0; iLoop < strParametros.length; iLoop++) {
	 lPar += strParametros[iLoop]+"<br>\n";
	}
	return lPar;
}
</script>

</head>
<body>
Capturando o parâmetro passado via url, como no exemplo abaixo:
<br>http://www.pagina.htm?fig1=111&fig2=222&fig=333&fig4=4a4a
<br><br>

<script type="text/javascript">
var figura = QueryString("fig");
document.write("O valor de fig é: "+figura);


//Outras opções do script:
var $totalParametros = numParametros;
document.write("<br><br>Total de parâmetros passados: "+$totalParametros);

//Listar todos os parâmetros existentes:
document.write("<br><br>Listando todos os parâmetros:");

var $listarParametros = ParList();
document.write("<br>"+$listarParametros);
</script>

</body>
</html>

Editado: Tópico editado em: 23/08/2009 para pequenas correções adição de novas funcionalidades ao código:

- Listar todos os parâmetros;

- Exibir total de parâmetros passados;

- Correção para parâmetros que são passados sem valores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.