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 :

Extraction url JavaScript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Août 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Août 2019
    Messages : 12
    Par défaut Extraction url JavaScript
    Bonjour à tous,

    Je souhaiterai extraire des informations d'une URL et les afficher dans un bandeau déroulant HTML, j'essaye d'expliquer au plus clair ce que je veux.

    J'ai créé une page HTML qui demande à l'utilisateur 4 informations (site,impact,probleme,temps de résolution), c'est dernières apparaissent sur l'uRL bandeau.html :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    \\Demande utilisateur information
    <html>
    <form action="bandeau.html" method="get">
     
    <Center>
     Site impacté :
     
    <SELECT name="site" size="1" width=500px/>
    <OPTION>Tous
    <OPTION>Paris
    <OPTION>Marseille
    <OPTION>Bordeaux
    <OPTION>Montpellier
    </SELECT>
     
     
    			<p>	
    		Impact : 
     
    <SELECT name="impact" size="1"
    width : 500px />
    <OPTION>Faible
    <OPTION>Moyenne
    <OPTION>Forme
    </SELECT>
    </p>
     
     
    <p> Description du probleme : 
    <input type ="text" name="probleme" />
    </p>
     
    <p> Temps résolution :
    <input type="text" name="temps" />
     
    <input type="submit" value="Valider" />
    </p>
    </Center>
    </form>
    </body>
    </html>

    Je souhaiterais extraire ces informations pour les places dans un bandeaux déroulant :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <head>
    	<title>Incident en cours</title>
    </head>
    <body>
    <iframe src="http://192.168.100.8/bandeau#/" style="height:90%;width:100%;"></iframe><br>
    <center>
     
    <!--texte caché -->
    <marquee  direction="right" width="100%" height="50" loop="-1"  bgcolor="red" valign="middle" ><b><br> </b></marquee><br>
     
    <br>
    </body>
    ?>
    </html>


    Merci d'avance pour votre aide

  2. #2
    Membre habitué
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Août 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Août 2019
    Messages : 12
    Par défaut
    J'arrive à "extraire" la donnée site, mais je n'arrive qu'à l'afficher en alerte au lieu de la mettre dans mon bandeau, et je n'arrive pas à faire la même chose pour les autres (impact,probleme,temps) :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <html>
    <script language="JavaScript">
    function getParamByName(site, url,) {
        if (!url) url = window.location.href;
        site = site.replace(/[\[\]]/g, "\\$&");
        var regex = new RegExp("[?&]" + site + "(=([^&#]*)|&|#|$)"),
            results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, " "));
    }
    var site = getParamByName('site');
     
    alert(site);
     
    </script>
     
    </html>

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    adapté de MDN:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var tab = {};
    var url = window.location.href.search;
    for (var param, rang = 0, lg = url.substr(1).split("&"); rang < lg.length; rang++) {
        param = lg[rang].split("=");
        tab[unescape(param[0])] = param.length > 1 ? unescape(param[1]) : "";
     }
    console.log(Object.values(tab));// tes valeurs

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Août 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Août 2019
    Messages : 12
    Par défaut
    Bonjour, merci javatwister pour ton retour.

    Par contre je ne vois pas du tout quoi remplacer dans mon code avec ce que tu viens de m'envoyer... as-tu la possibilité de l'adapter à mon code actuel ?

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Là tu récupères uniquement les valeurs saisies, quel que soit le nom des paramètres;
    // si tu veux, tu peux associer le nom des champs, c'est facile à modifier;
    function getParamByName(url){
    var tab = {};
    for (var param, rang = 0, lg = url.substring(1).split("&"); rang < lg.length; rang++) {
        param = lg[rang].split("=");
        tab[unescape(param[0])] = param.length > 1 ? unescape(param[1]) : "";
     }
    console.log(Object.values(tab))
    }
     
    // appel de ta fonction de récupération des valeurs saisies
    getParamByName(window.location.href.search);

  6. #6
    Membre habitué
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Août 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Août 2019
    Messages : 12
    Par défaut
    Je dois remplacer l'ensemble de mon code JS par cela ?
    j'ai beaucoup de mal désolé

Discussions similaires

  1. Probleme de regex - extraction url avec tiret
    Par joboy84 dans le forum Langage
    Réponses: 1
    Dernier message: 01/07/2008, 20h37
  2. Raccourci URL Javascript
    Par twingo321 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/07/2007, 16h03
  3. [RegEx] Pb Regex extraction URL
    Par fly06 dans le forum Langage
    Réponses: 3
    Dernier message: 17/09/2006, 21h58
  4. erreur extraction url à partir de mysql
    Par rozow dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/03/2006, 10h45

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