Extraction des paramètres d'une url

0/5 (3 avis)

Vue 20 553 fois - Téléchargée 432 fois

Description

Ce script permet d'extraire les paramètres transmis à une URL sous forme d'un array associatif et d'un array normal (voir commentaire dans la source pour plus de précisions).

Source / Exemple :


<script type="text/javascript">
<!--
if (window.location.search != "") {
longueur = window.location.search.length - 1;
data = window.location.search.substr(1,longueur);
donnees = data.split("&");
urlvar = new Array();
urlvarnum = new Array();
for (var i=0; i < donnees.length; i++) {
position = donnees[i].indexOf("=");
variable = donnees[i].substr(0,position);
pos = position + 1;
valeur = decodeURI(donnees[i].substr(pos,donnees[i].length));
while (valeur.search(/\+/) != -1)
    valeur = valeur.replace(/\+/," ");
urlvar[variable] = valeur;
urlvarnum[i] = valeur;
}
}
//si l'adresse de départ est "http://www.mapage.com/index.htm?nom=dupond&prenom=jean&age=50+ans", alors urlvar['nom'] vaut 'dupond', urlvar['prenom'] vaut 'jean', et urlvar['age'] vaut '50 ans'
//-->
</script>

Conclusion :


Ce script est compatible avec tous les navigateurs !

Codes Sources

A voir également

Ajouter un commentaire Commentaires
kuatsu Messages postés 10 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 24 août 2012
17 juin 2010 à 11:57
Ok, c'est bon j'ai trouvé ;)
Il faut mettre ca dans le body.

<script type="text/javascript">
<!--

if ( window.location.search )
{ // des paramètres dans l'URL existent.

document.getElementById("nom").value = urlvar['nom'];
document.getElementById("prenom").value = urlvar['prenom'];
document.getElementById("email").value = urlvar['email'];
document.getElementById("url").value = urlvar['url'];
}
//-->
</script>

Merci bien!
kuatsu Messages postés 10 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 24 août 2012
17 juin 2010 à 11:25
Wow, cool, c'est exactement ce que je cherche, par contre je dois placer ces paramètres récupérés dans differents input d'un formulaire.

Je suis une vraie quiche en java, pourriez vous me dire s'il vous plait comment faire ceci via votre code?

document.getElementById("prenom").value = urlvar['prenom'];
document.getElementById("nom").value = urlvar['nom'];
etc...
fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007
4 juil. 2005 à 11:58
Mince, j'avais fait un script qui ressemblais au tiens (je l'est fait ya 3 jours :( je voulais le mettre sur le site, enfin bon ...)

Voici le code pour ceux que sa intéresse :

<script>
/*
################################################################
### JSHP.js ###
############################################# Version 1.0 ######
################################################################

Auteur : fg
Site : http://fg.logiciel.free.fr
E-mail : fg.logiciel@free.fr
FREEWARE
*/

//Vous pouvez ajouter des fonctions ici :
if(location.search.substring(1))
{

//On récupère le nombre d'argument et on coupe les différents arguments dans un tableau
jshp_arg = location.search.substring(1).split('&');

//On recherche la longueur du tableau
jshp_nbrarg = jshp_arg.length;

//On créé le tableau get qui permettra de récupérer les variables
jshp = new Array();

for(i=0;i<=jshp_nbrarg;i++)
{
//Recherche du signe egal
jshp_tpeg = (jshp_arg[i].indexOf("=",0));

//Récupératon du nom de la variable
jshp_tpname = jshp_arg[i].substring(0,jshp_tpeg);

//Récupération de la valeur de la variable
jshp_tpvar = jshp_arg[i].substring(jshp_tpeg+1,jshp_arg[i].length);

//Stockage dans le tableau final
jshp[jshp_tpname] = jshp_tpvar;
}
}
</script>

<script>
//Maintenant le développeur peut faire ce qu'il veut avec les variables ...
//Vous pouvez appelez une variable avec jshp["nomdelavariable"] .
/*
Par exemple si l'url est index.htm?lang=fr&txt=salut&yeaaa=bouuu

Alors pour récupérer la variable "txt" vous devrez entrer dans votre
code javascript :

jshp["txt"]

Ainsi pour voir la valeur de la variable il suffit d'entrer

alert(jshp["txt"]);
*/
</script>

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.