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 :

Ajouter une variable � href


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Homme Profil pro
    �lectronicien
    Inscrit en
    Octobre 2006
    Messages
    225
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : �lectronicien
    Secteur : B�timent

    Informations forums :
    Inscription : Octobre 2006
    Messages : 225
    Par d�faut Ajouter une variable � href
    Bonjour.

    Je voudrais � partir d'une liste s�lectionner une ligne de mon tableau et le renvoyer pour compl�ter un formulaire. Pour ce faire j'utilise un lien sur un champ id et une valeur de retour pour revenir � mon formulaire. Ce n'est peut �tre pas la bonne m�thode, mais c'est celle que j'ai trouv�.
    Si je ne mets pas de cote � la valeur href
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    href=../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock=
    je peux ais�ment ajouter une variable en compl�ment.

    Ce n'est pas propre.... Je veux donc mettre des cotes.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    href='../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock='
    mais je n'arrive plus � ajouter ma variable de retour.

    voici ce que j'ai tent�:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                       if(substr_count($valeur,'?')){
                            ?> <td><a <?php print $valeur?> id="lien" 
                                      onclick="document.getElementById('lien').href= <?php print $valeur.'&idR='.$id ?>"
                                    > <?php print $cellule ?>  </a></td> <?php
                       }else{
                            ?> <td><a <?php print $valeur?> id="lien" 
                                      onclick="document.getElementById('lien').href= <?php print $valeur.'?idR='.$id ?>"
                                    > <?php print $cellule ?>  </a></td> <?php
     
                       }
    Mon but est simple, je veux juste changer href.... Mais l�, je ne vois pas mon erreur.
    Est ce le principe qui est mauvais, ou le m�lange avec du php ?
    Merci de toute aide.

  2. #2
    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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    Regarde ton html (code source g�n�r� ... )
    Essaye
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onclick="document.getElementById('lien').href='<?php print $valeur.'&idR='.$id; ?>'"
    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 !

  3. #3
    Membre �clair�
    Homme Profil pro
    �lectronicien
    Inscrit en
    Octobre 2006
    Messages
    225
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : �lectronicien
    Secteur : B�timent

    Informations forums :
    Inscription : Octobre 2006
    Messages : 225
    Par d�faut
    Bonjour Spacefrog. Merci de m'aider...
    �a ne fait rien. Le href retourn� reste inchang�. Je n'ai m�me pas le '&idR=' au bout de ma ligne.....
    dure dure....
    Voici le contenu de la variable $valeur = href='../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock=0000000000'
    Y aurait-il le 'href=' en trop ?

    J'ai essay�:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
                      $valeur= str_replace('href=' , '',$valeur);
                       if(substr_count($valeur,'?')){
                            ?> <td><a href= "<?php print $valeur?>" id="lien" 
                                      onclick='document.getElementById("lien").href= "<?php print $valeur.'&idR='.$id ?>" '
                                    > <?php print $cellule ?>  </a></td> <?php
                       }else{
    mais le href devient fou:
    Il me met l'adresse de la page affich�e + $valeur: (j'ai retir� volontairement le http pour ne pas faire une url)
    //localhost/~moi/php/asseleci/pages/stock/%27../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock=0000000000%27
    La ligne onclick= n'a aucun effet...
    C'est de plus en plus surprenant....

  4. #4
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Octobre 2015
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 25
    Par d�faut
    Pour moi, la variable $valeur ne devrais pas contenir href.
    Elle devrait juste contenir la chaine : ../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock=0000000000
    Pourrais tu nous montrer directement le code source HTML g�n�r� par ton script ?

  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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    Regarde ton html (code source g�n�r� ... )
    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
    Membre �clair�
    Homme Profil pro
    �lectronicien
    Inscrit en
    Octobre 2006
    Messages
    225
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : �lectronicien
    Secteur : B�timent

    Informations forums :
    Inscription : Octobre 2006
    Messages : 225
    Par d�faut
    Citation Envoy� par jzyra Voir le message
    Pour moi, la variable $valeur ne devrais pas contenir href.
    Elle devrait juste contenir la chaine : ../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock=0000000000
    Pourrais tu nous montrer directement le code source HTML g�n�r� par ton script ?
    Bonjour jzyra. Je l'ai fait. C'est indiqu� dans le code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $valeur= str_replace('href=' , '',$valeur);
    La formule magique (qui ne fonctionne pas
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                       if(substr_count($valeur,'?')){
                            ?> <td><a href= "<?php print $valeur?>" id="lien" 
                                      onclick='document.getElementById("lien").href= "<?php print $valeur.'&idR='.$id ?>" '
                                    > <?php print $cellule ?>  </a></td> <?php
                       }else{
                            ?> <td><a <?php print $valeur?> id="lien"  
                                      onclick='document.getElementById("lien").href= "<?php print $valeur.'?idR='.$id ?>"'
                                    > <?php print $cellule ?>  </a></td> <?php
     
                       }
    g�n�re ce code:
    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
        <form action="vue_formulaire.php" method="POST" name="liste" id="liste" >
     
        <table align="center">
     <tr>  <td><a href= "'../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock=0000000000'" id="lien" 
                                      onclick='document.getElementById("lien").href= "'../BLF/vue_formulaire.php?liste=bl_fournisseur&id=13064&id_stock=0000000000'&idR=0000002082" '
                                    > 0000002082  </a></td> 
    <td><a liste=blf_stock&id=0000002082>ACCU</a></td>
    <td><a liste=blf_stock&id=0000002082>Pieces Frigo</a></td><td align=right><font color=cyan>0.0</font></td>
    <td><a liste=blf_stock&id=0000002082>Accu pour philips hr23041</a></td>
    <td align=right><font color=cyan>52.27</font></td>
    <td align=right><font color=cyan>0.0</font></td>
    <td align=right><font color=cyan>0.0</font></td>
    <td><a httpliste=blf_stock&id=0000002082>&nbsp;</a></td>
    </tr>

    Il semble qu'il y a des probl�mes de syntaxe. La fatigue me gagne. Je n'arrive pas � m'y retrouver....
    Merci.

  7. #7
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    le code g�n�r� montre que tu as des probl�mes avec les simple et double quottes.

    Tu peux avantageusement remplacer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    id="lien" onclick='document.getElementById("lien").href=
    par un simple
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onclick = 'this.href="...
    PS : je ne vois pas trop l�int�r�t de modifier au click l'attribut href, pourquoi ne pas mettre tout de suite la bonne URL ?

  8. #8
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Citation Envoy� par NoSmoking Voir le message
    PS : je ne vois pas trop l�int�r�t de modifier au click l'attribut href, pourquoi ne pas mettre tout de suite la bonne URL ?
    C'est le genre de truc qui me rend dingue quand un site fait �a. C'est pas pr�visible, c'est pas accessible, c'est pas maintenable, c'est pas efficace� Bref, c'est pas bien !
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  9. #9
    Membre �clair�
    Homme Profil pro
    �lectronicien
    Inscrit en
    Octobre 2006
    Messages
    225
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : �lectronicien
    Secteur : B�timent

    Informations forums :
    Inscription : Octobre 2006
    Messages : 225
    Par d�faut
    OK. Comme je l'ai d�j� dit, je ne demande qu'a m'am�liorer, mais je fais avec mes simples connaissances. (Je n'ai rien appris � l'�cole, je suis seulement autodidacte).
    J'ai construit un formulaire. Afin de compl�ter ce dit formulaire, je pointe sur une liste. Pour les stocks, elle doit �tre � jour donc envoy�e par le serveur.

    Dans cette liste j'ai introduit des hyper-liens.

    Chaque lien doit �tre capable de relever l'id de la ligne choisie et le renvoyer vers un formulaire bien pr�cis.
    La variable $valeur, me renvoie vers mon formulaire d'origine. Je veux juste y ajouter un id pour exploiter la suite sur mon formulaire.

    Dans la 1ere version de mon travail je faisais pire, mais �a fonctionnait. Maintenant, que je passe � msqli je veux faire du meilleur travail.

    Donc, je pose la question tr�s directement: Si ce n'est pas du bon travail, comment proc�der autrement ?
    Merci.

    Merci � nosmoking. ( Moi aussi, je ne fume pas). Je retient ta remarque.

  10. #10
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Donc, je pose la question tr�s directement: Si ce n'est pas du bon travail, comment proc�der autrement ?
    est ce que tu ne serais pas en train de r�inventer l'utilisation d'un formulaire classique ?
    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
    <form action="vue_formulaire.php" method="POST">
     <input type="hidden" name="liste" value="bl_fournisseur">
     <input type="hidden" name="id_stock" value="0000000000">
     <table>
       <tr>
         <td><input type="radio" name="idR" value="0000002082"></td>
         <td>ACCU</td>
         <td>52.27</td>
       </tr>
       <tr>
         <td><input type="radio" name="idR" value="0000002083"></td>
         <td>Pieces Frigo</td>
         <td>0.00</td>
       </tr>
       <tr>
         <td><input type="radio" name="idR" value="0000002084"></td>
         <td>Accu pour philips hr23041</td>
         <td>0.00</td>
       </tr>
     </table>
     <p><input type="submit" value="Envoi"></p>
    </form>

  11. #11
    Membre �clair�
    Homme Profil pro
    �lectronicien
    Inscrit en
    Octobre 2006
    Messages
    225
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : �lectronicien
    Secteur : B�timent

    Informations forums :
    Inscription : Octobre 2006
    Messages : 225
    Par d�faut
    C'est tout � fait �a no smoking. Je viens de modifier mon code et tout roule. Il n'y a pas besoin d'utiliser de JS pour faire ce genre de travail.
    J'�tais g�n� par une cote, mais maintenant �a roule.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
                       $valeur= substr($valeur,0,-1);
                       if(substr_count($valeur,'?')){
                           $valeur.="&idR=$id'";
                       }else { $valeur.="?idR=$id'";}
     
                            ?> <td><a <?php print $valeur?> > <?php print $cellule ?>  </a></td> <?php
     
                       }
    Merci � toi et watilin qui m'a mis sur la bonne piste.
    Je clos le sujet.

  12. #12
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Je ne sais plus si c'est � toi que je disais �a dans un pr�c�dent post, mais en g�n�ral il y a moyen d'�viter les imbrications de guillemets, en �vitant les � niveaux d'imbrication � des diff�rents codes. Par exemple, du HTML dans du JS dans du PHP. C'est normal de g�n�rer du HTML au moyen de PHP ; en revanche, �a l'est moins de g�n�rer du JS, et encore moins de g�n�rer du HTML au moyen de JS qui a lui-m�me �t� g�n�r�. Donc si tu rencontres encore un probl�me de guillemet, pose-toi la question : est-ce que je n'ai pas moyen de faire autrement ?

    Citation Envoy� par LampeRouge
    Il n'y a pas besoin d'utiliser de JS pour faire ce genre de travail.
    Exactement. C'est plus simple quand tout se passe d'un seul c�t�, client ou serveur.

    Pour pr�ciser un peu ma remarque pr�c�dente, ce que je qualifie de � pas bien �, c'est le fait de modifier le href au moment o� l'utilisateur clique. Si tu le modifies avant, il n'y a pas de souci. Quand on survole un lien, tu l'as s�rement remarqu�, l'adresse de destination appara�t dans un coin de la fen�tre. Ceci permet � l'utilisateur de contr�ler sa navigation : il peut �viter de se retrouver sur des sites qu'il ne veut pas visiter (par exemple un site malicieux ou un rickroll). Si tu modifies le href au moment du clic, tu retires ce contr�le � l'utilisateur, et �a peut �tre vu comme une tentative de clickjacking. Gmail et Facebook, entres autres, font �a � des fins de statistiques/tracking.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  13. #13
    Membre �clair�
    Homme Profil pro
    �lectronicien
    Inscrit en
    Octobre 2006
    Messages
    225
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : �lectronicien
    Secteur : B�timent

    Informations forums :
    Inscription : Octobre 2006
    Messages : 225
    Par d�faut
    Effectivement. Je prends note de tous les �cueils que je rencontre afin de ne pas les r�p�ter.... Et je remercie la communaut� de me tirer les �pines du pied. C'est un super moyen que d'apprendre par l'�chec. On retient beaucoup mieux.
    Bien amicalement.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Ajouter une variable d'environnement
    Par julien.63 dans le forum D�veloppement OS X
    R�ponses: 4
    Dernier message: 14/06/2007, 00h34
  2. R�ponses: 1
    Dernier message: 14/02/2007, 17h08
  3. ajouter une variable à une chaine
    Par youtou dans le forum C
    R�ponses: 11
    Dernier message: 06/06/2006, 15h11
  4. R�ponses: 1
    Dernier message: 30/03/2006, 07h19
  5. ajouter une variable sur un control
    Par gijy dans le forum MFC
    R�ponses: 15
    Dernier message: 21/03/2006, 18h18

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