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 :

document.execCommand("copy") reste vide


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut document.execCommand("copy") reste vide
    Salutations,

    Je suis bloqué comme un couillon :

    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
    (...)
    	<?php
            (...)
            $i = 1;
            foreach ($contenu as $liste_fichiers) {
                    $inputId = +$i;
                    $file5 = "http://admin.wda-fr.org" . $dossier . "/" . $liste_fichiers;
            (...)
                    ?>
            (...)
    			<td align="center">
    				<input hidden="hidden" type="text" id="<? echo $inputId; ?>" value="<?php echo $file5; ?>">
    				<button onclick="myFunction('<? echo $inputId; ?>')">Copier l'URL</button>
    			</td>
    		</tr>
            <?php } ?>
    (...)
     
    <script>
            function myFunction( id ) {
                    var copyText = document.getElementById( id );
                    copyText.select();
                    document.execCommand("copy");
                    alert("URL en copie :\r" + copyText.value);
            }
    </script>
     
    (...)

    copyText.value est bon, mais document.execCommand("copy") reste vide ...

    Any idea ?
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    developer.mozilla.org/fr/docs/Web/API/document/execCommand
    copy
    Copie la sélection courante dans le presse papier.
    il faut que tu aies selectionne quelque chose au sens "hightligth"... ce qu'on fait avec la souris par exemple

    developer.mozilla.org/fr/docs/Web/API/Window/getSelection

    je sais que c'est possible de "selectionner" du texte en JS (comme on le ferait avec la souris), mais je ne l'ai jamais fais, ca ne devrait pas etre trop complique a trouver

    [edit]
    je viens de trouver : https://developer.mozilla.org/fr/doc...SelectionRange
    [edit 2]
    tu as aussi le select() developer.mozilla.org/fr/docs/Web/API/HTMLInputElement/select
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Oki, je vois.

    Par contre, niveau nomenclature ?
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    Je suis d'accord avec Doksuri, même problème ici : #7...

  5. #5
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    J'ai beau tester dans tous les sens, la variable se vide à chaque fois.
    Ou sinon, elle ne garde que la première entrée de la boucle.

    J'ai tenté ce nouveau code sans résultat :

    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
    (...)
     
    			<td align="center">
    				<!-- The text field -->
    				<input hidden="hidden" type="text" value="<?php echo $file5; ?>" id="myInput">
    				<!-- The button used to copy the text -->
    				<button onclick="myFunction()" onmouseout="outFunc()">Copier URL</button>
    			</td>
     
    (...)
     
    <?php } // fin de boucle ?>
     
    (...)
     
    <script>
            function myFunction() {
              var copyText = document.getElementById("myInput");
              copyText.select();
              copyText.setSelectionRange(0, 99999);
              document.execCommand("copy");
     
              var tooltip = document.getElementById("myTooltip");
              tooltip.innerHTML = "Copied: " + copyText.value;
            }
     
            function outFunc() {
              var tooltip = document.getElementById("myTooltip");
              tooltip.innerHTML = "Copy to clipboard";
            }
    </script>
     
    (...)
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  6. #6
    Membre du Club Avatar de Couin
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 67
    Points
    67
    Par défaut
    Hello,

    Je me permets d'apporter une réponse, qui vaudra ce qu'elle vaudra .

    Je me trompe peut-être mais ce que tu veux, c’est copier un lien (qui est la valeur d'une variable) dans le presse papier ?

    J'ai eu une chose similaire (copier le titre d’une musique et non un lien) vers le presse papier.

    Aucun code que je trouvais sur le net ne fonctionnait, jusqu'au code suivant :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script>
    function copy(){
      txt = "pouet pouet";
      cb.value = txt;
      cb.style.display='block';
      cb.select();
      document.execCommand('copy');
      cb.style.display='none';
     }
    </script>
    <input id="cb" type="text" hidden>
    <img src="icone_copier.png" onclick="copy()">
    Car de ce que j'ai pu comprendre, document.execCommand('copy'); copie ce qui est dans un input et non une valeur de variable. Donc l'idée étant de mettre la valeur à copier, vers un input caché, de sélectionner la valeur de cet input et de la copier.

    Voilà voilà
    Retrouvez-moi tous les dimanches à 22H pour une heure de mix en live tout au vinyle sur eurodance90.fr
    Nouvelle version de Jingle Palette sur jinglepalettereloaded.com

Discussions similaires

  1. Copy premiere Cellule vide dans colonne
    Par dvguy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/12/2006, 16h32
  2. Enregistrer sous - document.execCommand
    Par skeut dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/11/2006, 09h55
  3. Réponses: 4
    Dernier message: 23/08/2006, 15h36
  4. [VB & SQL] Recordset reste vide apres SELECT
    Par ZeGuizmo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/06/2006, 09h04
  5. [Plugin][Lomboz] web.xml reste vide lors du déploiement
    Par ollivier dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/01/2006, 14h20

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