IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Recupérer un argument et l'utiliser pour changer le bgcolor


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Points : 55
    Points
    55
    Par défaut Recupérer un argument et l'utiliser pour changer le bgcolor
    Voilà, c'est un peu complexe comme truc, et je ne sais pas si c'est possible, en fait je voudrais recupérer une variable passer par l'adresse Web :

    par exemple, ensuite je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script language="JavaScript">
    if(bgcol.value == "")
    {
    bgcol="fff444";
    }
    document.bgColor=(""+bgcol.value+"");
    </script>
    Mais ça ne fonctionne pas

    Quelqu'un a une idée, aussi, je ne peux pas utiliser php ou autre.

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut


    pour recuperer l'url complete de la page en cours, tu peux utiliser window.location.href.

    ensuite, on va la decouper grace à substring() et indexOf() :
    - une premiere fois pour recuperer la liste des arguments qui sont a partir de bgcol dans l'URL (on cherche la premiere instance de "bgcol=", et on prend ce qui est apres)
    - une seconde fois pour recuperer la valeur de bgcol (on prend ce qui est avant la premiere instance de '&')

    ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function recuperesArgumentURL(argumentARecuperer)
    {
    	urlPage = window.location.href;
    	arguments = urlPage.substring(urlPage.indexOf(argumentARecuperer+"=", 0) + argumentARecuperer.length + 1);
    	if(arguments == urlPage)
    	{
    		alert("[Echec] L'argument "+argumentARecuperer+" n'a pas été trouvé dans l'URL");
    	}
    	else
    	{
    		argumentRecherche = arguments.substring(0, arguments.indexOf("&", 0));
    		alert(argumentRecherche);
    	}
    }
    que tu appelles par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    recuperesArgumentURL('bgcol')
    voili voilou ;-)
    Dernière modification par Domi2 ; 21/05/2011 à 18h43.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    un split sur le window.location.href sur le =
    le second élément du tbaleau sera la couleur ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SpaceFrog
    un split sur le window.location.href sur le =
    le second élément du tbaleau sera la couleur ...
    ... sauf si plusieurs parametres ont ete passés à sa page
    c'est pour ça que ma fonction est un tout petit peu plus longue ;-)

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    exact torvy je donnais le code juste pour le cas precis, sinon on commence par le split sur le ? puis le split sur & ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SpaceFrog
    exact torvy je donnais le code juste pour le cas precis, sinon on commence par le split sur le ? puis le split sur & ...
    ouais moi je bosse plutot avec substring() et indexOf(), je ne sais pas lequel est le plus performant... les RegExp c'est plus puissant, mais en a-t'on besoin ici ?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    perso je préfère le split, juste parceque c'est plus direct et qu'avec l'index et le substring je m'emèle toujours les crayons du dernier caractère selectionné ...
    le split me donne direct un tableau que je trouve plus facile à exploiter ...
    Mais ça n'engage que moi ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Invité
    Invité(e)
    Par défaut
    bon finalement il s'avere que ma fonction etait buggée, je l'ai donc refaite avec les RegExp, et en fait c'est plus simple !!!

    la nouvelle version est dispo ici, dans la page "Codes source" ;-)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Points : 55
    Points
    55
    Par défaut
    Merci à vous tous, ça va bien me servir tout ça.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel pattern utiliser pour changer les possibilités d'un objet
    Par lichman dans le forum Design Patterns
    Réponses: 4
    Dernier message: 05/10/2007, 14h02
  2. Réponses: 1
    Dernier message: 10/01/2007, 21h52
  3. Réponses: 3
    Dernier message: 23/12/2005, 14h48
  4. [VB.NET] Composant utilisée pour changer donnée access
    Par moust dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/04/2005, 10h44
  5. Réponses: 4
    Dernier message: 12/09/2003, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo