quinta-feira, 26 de agosto de 2010

Ler parametros passados via URL

Exemplo da URL:
http://servidor/base.nsf/formulario?Openform&par1=exemplopar1&par2=exemplopar2

Ex 1: Em Formula

NOTES RELEASE 6 EM DIANTE:

parametro1:=@urlQueryString("par1");
parametro2:=@urlQueryString("par2");

valor do parametro1: "exemplopar1"
valor do parametro2: "exemplopar2"

NOTES RELEASE ANTERIOR A 6:

_ArgsNames:=@Left(@Explode(@Right(Query_String_Decoded;"&");"&");"=");
_ArgValues:=@Right(@Explode(@Right(Query_String_Decoded;"&");"&");"=");

parametro1:= @If( _ArgsNames !="";@Do(@If(@Member("par1";_ArgsNames)>0;@GetMembers(_ArgValues;@Member("par1";_ArgsNames); 1); "")); "Sem VALOR")

parametro2:= @If( _ArgsNames !="";@Do(@If(@Member("par2";_ArgsNames)>0;@GetMembers(_ArgValues;@Member("par2";_ArgsNames); 1); "")); "Sem VALOR")


Ex 2: JavaScript

Utilizando a fução getURLParam.

parametro1=getURLParam('par1');
parametro2=getURLParam('par2');

valor do parametro1: "exemplopar1"
valor do parametro2: "exemplopar2"


function getURLParam(strParamName){

var strReturn = "";
var strHref = window.location.href;
if ( strHref.indexOf("?") > -1 ){
var strQueryString = "&" + strHref.substr(strHref.indexOf("?") + 1); //.toLowerCase();
var aQueryString = strQueryString.split("&");
for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){ if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
return strReturn;
},


Ex 3: Lotus Script


Utilizando a fução getURLParam.

'<-- Aqui eu pego o parametro passado pela URL -->
parametro1 = f_retornaParametroURL (Ucase(doccontext.Query_String(0)),"par1")

'<-- Aqui eu pego o parametro passado pela URL -->
parametro2 = f_retornaParametroURL (Ucase(doccontext.Query_String(0)),"par2")


Function f_retornaParametroURL ( qry As String, param As String ) As String
On Error Goto erro

Dim i,j As Integer
Dim result As String

i = Instr(1, qry, param)
result= ""

If i > 0 Then
j = Instr(i, qry, "&")
If j > 0 Then
result$ = Mid(qry, i + Len(param) + 1, (j - 1) - (i + Len(param)))
Else
result$ = Mid(qry, i + Len(param) + 1)
End If
End If
f_retornaParametroURL = result

sai:
Exit Function
erro:
Msgbox "Erro na função f_retornaParametroURL na linha " + Str$(Erl) + " do tipo " + Str$(Err) + ": " + Error$
Resume sai
End Function


 function queryString(parameter) {
 var loc = location.search.substring(1, location.search.length);
 var param_value = false;
 var params = loc.split("&");
 for (i=0; i
 param_name = params[i].substring(0,params[i].indexOf('='));
 if (param_name == parameter) {
 param_value = params[i].substring(params[i].indexOf('=')+1)
 }
 }
 if (param_value) {
 return param_value;
 }
 else {
 return false;
 }

Nenhum comentário:

Postar um comentário