Comme d'autres l'ont déjà fait, il faut analyser la chaine de l'URL pour les mettre dans un tableau afin de pouvoir ensuite utiliser les variables.
Contrairement à ce que d'autres ont fait, j'utilise un tableau associatif.
dans une url du type index.php?pseudo=pifou&id=25
le résultat sera un tableau GET['pseudo']='pifou' et GET['id']=25
j'appelle le tableau GET par analogie avec le $_GET en PHP uniquement.
Source / Exemple :
<script language="JavaScript" type="text/javascript">
<!-- // récupérer TOUS les paramètres de l'URL
var tmp = window.location.search.substring(1).split("&");
var GET = [];
for (var i in tmp)
if (tmp[i].indexOf("=")!=-1)
GET[decodeURI(tmp[i].substring(0, tmp[i].indexOf("=")))] = decodeURI(tmp[i].substring(tmp[i].indexOf("=")+1));
else
GET[decodeURI(tmp[i])]='';
// -->
</script>
Conclusion :
quelque explication:
substring(1) pour ôter le 1er caractère '?' de l'URL
split pour convertir en tableau chaque couple nom=valeur
une boucle sur ce tableau pour séparer chaque couple en GET['nom']=valeur
attention donc: pas de & ni = dans l'URL il faut les encoder / décoder.
11 déc. 2007 à 16:25
j'ai modifié le code pour autoriser les variables vide et avoir GET['tit']='' (on aurait pu mettre null ou 0)
tant qu'à faire j'ai ajouté le decodeURl dans la boucle.
10 déc. 2007 à 15:19
Pour la variable titi, ça se passe comment ?
6 déc. 2007 à 10:54
http://www.codyx.org/snippet_manipuler-parametres-passes-dans-url_93.aspx
c'est casse pied cette rubrique snippet, quand tu cherche un code JS dans le site JS il est dans snippet et je pense jamais à chercher.
5 déc. 2007 à 22:04
Tu peux le poster si tu veux dans les snippets, j'ai plusieurs trucs sur lequel je travailles de ce temps ci et je risque d'oublier.
5 déc. 2007 à 09:43
ton code a en + l'avantage d'utiliser unescape
par contre je pensais pas qu'on pouvait avoir un nom de variable qui commence par $ en js(?)
Tu peux le (re)poster dans les snippets je trouve que ça le mérite c'est toujours utile :)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.