begin process at 2010 02 09 23:49:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Javascript/DHTML

 > EXTRAIRE DES VARIABLES D'UN URL EN JAVASCRIPT

EXTRAIRE DES VARIABLES D'UN URL EN JAVASCRIPT


 Information sur la source

Note :
7,4 / 10 - par 5 personnes
7,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Javascript/DHTML Classé sous :extraire, variables, querystring, url, javascript Niveau :Initié Date de création :14/09/2001 Date de mise à jour :29/11/2009 14:54:27 Vu :32 136

Auteur : Bud

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Ce bout de code permet en javascript d'extraire des variables d'un URL. C'est pratique si le serveur n'accpete pas l'ASP, mais en ASP, il y a bien plus simple...

Source

  • FICHIER extract_infos.js
  • function getVar (nomVariable)
  • {
  • var infos = location.href.substring(location.href.indexOf("?")+1, location.href.length)+"&"
  • if (infos.indexOf("#")!=-1)
  • infos = infos.substring(0,infos.indexOf("#"))+"&"
  • var variable=0
  • {
  • nomVariable = nomVariable + "="
  • var taille = nomVariable.length
  • if (infos.indexOf(nomVariable)!=-1)
  • variable = infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))
  • }
  • return variable
  • }
  • =========================================
  • A insérer dans le <HEAD> du fichier HTML
  • <script language="JavaScript" src="extract_infos.js"></script>
  • <script language="JavaScript">
  • variable=getVar('variable')
  • </script>
FICHIER extract_infos.js

function getVar (nomVariable)
{
	var infos = location.href.substring(location.href.indexOf("?")+1, location.href.length)+"&"
	if (infos.indexOf("#")!=-1)
		infos = infos.substring(0,infos.indexOf("#"))+"&"
	var variable=0
	{
		nomVariable = nomVariable + "="
		var taille = nomVariable.length
		if (infos.indexOf(nomVariable)!=-1)
			variable = infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))
	}
	return variable
}


=========================================
A insérer dans le <HEAD> du fichier HTML

<script language="JavaScript" src="extract_infos.js"></script>
<script language="JavaScript">
	variable=getVar('variable')
</script>

   

 Conclusion

Si la page contient l'URL www.ton_site.com/ta_page.htm?variable=ta_variable
ben tu peux obtenir le contenu de variable pour l'utiliser en javascript. Bien sur, tu peux utiliser les noms de variable que tu veux et le nombre (ou presque) de variable que tu veux, il faut juste les espacer par des &


 Historique

29 novembre 2009 14:54:27 :
--

 Sources du même auteur

Source avec Zip Source avec une capture PETIT CALENDRIER

 Sources de la même categorie

Source avec une capture Source .NET (Dotnet) CALENDRIER POPUP ET MULTICONTROLES par nico5969
Source avec Zip Source avec une capture Source .NET (Dotnet) ONGLETS DYNAMIQUES POUR ASP.NET par s_shadow
Source avec Zip LOADING DANS UNE PAGE par Jackboy
Source avec Zip AFFICHER / MASQUER LES COLONNES D'UN TABLEAU SANS RECHARGEME... par matche
Source avec Zip Source .NET (Dotnet) VILLE EN FONCTION DU CP SOUS FORME DE CONTROLE ET SANS POSTB... par jesusonline

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) ENVOYER DES DONNÉES D'UN POPUP VERS LE PARENT (JAVASCRIPT) par fredzool
Source avec Zip Source .NET (Dotnet) WEBCONTROL DATEPICKER WEBCONTROLLIBRARY par fredzool
Source avec une capture Source .NET (Dotnet) CALENDRIER POPUP ET MULTICONTROLES par nico5969
Source .NET (Dotnet) AJOUTER DES PARAMÈTRES À UNE URL par jesusonline
CONVERTIR UNCHAMP PASSÉ EN URL EN FORMAT STRING par rcolas

Commentaires et avis

Commentaire de rudyboy le 05/06/2003 11:09:22

ce code ne marche pas si 2 (ou +) variables ont une partie du nom en commun, ex : ?montoto=1&toto=2, si on cherche la variable toto -&gt; getVar va renvoyer 1 au lieu de 2 car le test doit porter sur ?toto= ou &toto= ...
de plus les premières lignes st inutiles, il suffit de prendre location.search, qui ne renvoie que la portion qui nous intéresse (sans le # et sans l'adresse proprement dite.
Ma méthode :
function QueryString(param){
var strParam = new String(param);
var position = window.location.search.indexOf('&' + strParam + '=');
if (position==-1)
position = window.location.search.indexOf('?' + strParam + '=');
if (position==-1)
return '';
return (window.location.search.indexOf('&', position + strParam.length + 2)==-1) ? window.location.search.substr(position + strParam.length + 2) : window.location.search.substr(position + strParam.length + 2, window.location.search.indexOf('&', position + strParam.length + 2) - (position + strParam.length + 2));
}

Commentaire de Belt le 25/09/2003 15:55:14

Franchement il est vraiment pourri ton code en plus
en Javascript les "if" ca s'écrit "if" pas "If" et les point virgules ca
éxiste aussi !!!!!

Commentaire de LeGrosWinnie le 13/05/2007 17:09:30

RUDYBOY
Tu pourrais mettre du commentaire dans ton code ? Histoire d'expliquer ce que tu fais et comment fonctionnent les fonctions que tu utilises.
Si tu pouvais aussi éviter le return à ralonge où on ne comprend rien...
Si quelqu'un lit ce code c'est qu'il ne sait pas faire, donc essaies d'être clair...

BELT
Bin, proposes-en un puisque tu as l'air si doué...

Commentaire de LeGrosWinnie le 13/05/2007 17:41:24

Pour ceux qui cherchent comment fonctionne IndexOf :
window.location.search.indexOf('TOTO') va retourner 0 si TOTO apparaît par exemple ici :
www.google.fr/TOTO

Et substr renvoie la chaîne située entre position1 et position2 :
substr(position1, position2)
Il faut donc l'utiliser avec indexOf utilisé précédement pour avoir la position du début de la variable (position de '?' plus 1) et de la fin (position de '&' moins 1 si plusieurs variables)

Exemple pour avoir la position de la variable 'Lieu' (beaucoup plus simple que celui ci-dessus, mais ne fonctionne qu'avec UNE variable, à vous d'adapter...désolé :-p) :

var Lieu = new String(Lieu); //Création de la variable 'string' Lieu
Lieu = '?Lieu='; //Détection de la variable dans l'URL
Position = window.location.search.indexOf(Lieu); //Recherche de la position
if (Position != -1) //Si une position est trouvé on continue, sinon, rien ne se passe
}
Position = Lieu.length; //Nouvelle position pour le contenue de la variable 'Lieu'
Lieu = window.location.search.substr(Position); //On remplace 'Lieu' par le contenue de la variable
}

Commentaire de BestOne le 17/05/2007 11:22:34

Comment peut on utiliser ton script sur une page html pour afficher le résultat de la recherche sous format tableau. Exemple,
URL:http://perso.ifrance.fr/recuperationget.html?Nom=gghg&prenom=eee&Age=12&Tel=132343545&email=EZEZE@hyj&Valider=Valider
je veux récuperer les valeurs des variables Nom, penom, Age, Tel et email via la page recuperationget.html et l'afficher sous format tableau :
Nom     gghg
prenom  eee
Age     12
Tel     13234545
email   EZEZE@hyj

Merci

Commentaire de LeGrosWinnie le 18/05/2007 10:50:51

BestOne

Le mieux serait en php où tu peux directement récupéter les variables "$_GET['NomDeLaVarURL']".
Sinon, en JavaScript il faut créer un tableau de cahîne de caractères, faire une boucle du style "Tant Qu'il y a '&' dans l'URL Faire", dans la boucle utiliser la fonction pour récupérer à chaque passage une nouvelle variable, etc. etc.. Compliqué quoi... :-p

Commentaire de BestOne le 18/05/2007 14:14:37

En faite je ne dispose que des pages statiques et l'utilsation de PHP est exclue. J'ai besoin des détails consairenant la récupération et l'affichage d'une seul variable et le reste je vais essayer de le faire. Dans ton script il n'y a aucune indication sur la fonction et les paramétres d'entrés ou de sorties, donc je ne voix pas comment implémenter ton script dans une page HTML :-(

Commentaire de LeGrosWinnie le 18/05/2007 18:11:32

Mon script ne fonctionne qu'avec du HTML et ce position entre des balise <script> </script> en bas de page ,juste avant </body> par exemple, de façon à modifier ce qui est déjà afficher, toujours par exemple.
Dans mon exemple dans l'URL je cherche la valeur de "Lieu", qui a une insidence sur l'affichage final de ma page (j'affiche une série de photos en rapport avec le lieu trouvé et non pas la page d'accueil classique).

Commentaire de stay le 30/11/2007 14:26:02 10/10

C'est exactement ce que j'avais besoin 10/10.

Commentaire de RudiRatlos le 28/12/2007 13:51:36 10/10

...ca marche, c'est tout ce qui compte 10/10.

Commentaire de Kikuts le 06/07/2009 15:00:09 2/10

Puré ce post est ptetre mort, mais mince ! Belt m'a fait délirer : il n'y va pas de main morte xD

Commentaire de petifa le 08/09/2009 11:31:17

Slt tu pourrais faire une petite modification sur ton code, pour gagner en lisibilité et en traitement


Au lieu de mettre :
# nomVariable = nomVariable + "="
# var taille = nomVariable.length
# if (infos.indexOf(nomVariable)!=-1)
# variable = infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))


Mettre à la place :
# nomVariable = nomVariable + "=";
# if ((pos = infos.indexOf(nomVariable)) !=-1)
# {
# variable = infos.substring(pos + nomVariable.length, infos.length);
# variable = variable.substring(0, variable.indexOf("&"));
# }

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

QueryString et Javascript ... [ par guiguimac ] bonjour,je souhaite passer des variables par URL à une page ASP via du code Javascript ... mais dedans y'a un "+" ... et ca ne passe pas dans l'ASP.es URL, QueryString et cie [ par neoprg ] Bonjour,Je souhaite, après validation d'un formulaire en method get qui appelle la même page, avoir une URL sans queryString ... cela est il possible Postback ne garde pas les variables URL [ par jnbrunet ] Bonjour,J'ai une page aspx qui gère des UserControl dynamiquement à partir de variable URL. donc si j'ai default.aspx?idControle=2 il chargera mon use cacher les variables passées par l'url [ par vv ] bonjour,une question de débutante:Comment faire pour passer mes variables sans voir ces sampiternelles suites de "?t=1&tut=8&plou=yyenamarre"...ectEst Transmission de variables dans une URL => pb avec nom composé [ par jcharles ] bonjour,j'ai un petit soucis dans mon programme lorsque je transmet une variable dans mon url.Je transmet dans l'url une variable qui est le nom d'une Récupération de variables dans l'URL [ par ben85000 ] Bonjour a tous !J'aimerais récupérer dans un textbox une valeur contenue dans mon URL. J'aimerais récupérer cette valeur sans passer par la page aspx. Faire suivre les paramètres GET [ par thiosyiasar ] Bonjour,Si on appel la page d'accueil de mon site avec un paramètre Get, je dois le faire suivre sur tous les liens du site.Ce parametre doit durer me Passage de paramètre dans un site Web [ par TrucDeFou ] Bonjour,Je réalise un site internet en .NET 2.0.J'aimerais connaitre les différentes méthodes (autre que le passage par URL) pour passer des paramètre Récup valeur input modifié par javascript dans le codebehind via ajax [ par dragulladragulla ] Bonjour,Prob simple &lt;input id="ID" type="hidden" runat="server" /&gt; je change le value du champ par javascript puis je lance la requête ajax en v récupération de types de variables sur une instance fournit par un Web Service [ par diachun ] Bonjour,Ma config:Visual Studio 2008, code behind en C# et page aspxAlors voila, je travaille sur une référence de web service que l'on va appeler Cli


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales