Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1335 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Soucis avec script JS pour copier:coller

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Soucis avec script JS pour copier:coller

n°1221965
nycius
Ich liebe dich !
Posté le 13-10-2005 à 12:11:42  profilanswer
 

Salut
 
j'utilise un script js pour avoir un bouton qui permet de copier dans les presse papier tout le texte
 
ca marche niquel en tant normal sauf que mon champ se nomme "t[infos]" , et JS arrive pas a comprendre ca
seulement jai pas le choix je peux pas changer le nom
 
qqun aurais une manip ?
j'ai essayé de mettre le texte dans un champ hidden seulement ca marche pas
 

Code :
  1. <SCRIPT>
  2. function copy2Clipboard(obj)
  3. {
  4.    var textRange = document.body.createTextRange();
  5.    textRange.moveToElementText(obj);
  6.    textRange.execCommand("Copy" );
  7. }
  8. </SCRIPT>


 

Code :
  1. <FORM NAME=formulaire>
  2. <TEXTAREA NAME=t[infos]>Tapez votre texte ici !</TEXTAREA><BR>
  3. <a href="#null" onClick="copy2Clipboard(document.formulaire.t[infos])">copier</a>
  4. </FORM>

mood
Publicité
Posté le 13-10-2005 à 12:11:42  profilanswer
 

n°1222137
FlorentG
Unité de Masse
Posté le 13-10-2005 à 14:45:03  profilanswer
 

oulalalalalalalalalalalalalalalala
 
Déjà faudrait ajouter un peu de rigueur dans ton code, parce que c'est un merdier monstre :

<script type="text/javascript">
  function copy2Clipboard(obj)
  {
    var textRange = document.body.createTextRange();
    textRange.moveToElementText(obj);
    textRange.execCommand("Copy" );
  }
</script>
<div>
    <textarea id="tinfo">Tapez votre texte ici !</textarea><br>
    <button type="button" onClick="copy2Clipboard(document.getElementById('tinfos')">copier</button>
  </div>


Donc :

  • Rajout de l'attribut type sur l'élément script : si le navigateur ne sait pas le langage du script, ça peut poser problèmes.
  • Suppression du form : à quoi sert ton form ici ? Vu que il sert à rien, y'a pas de traitement par un script côté serveur
  • Remplacement du lien par un bouton : Un lien, ça sert à faire un lien (!) vers une autre page, pas à lancer une action. Un button est mieux
  • virage du t[name] : Nom vraiment bizarre pour un contrôle de formulaire [:johneh]  [:johneh] Remplacement par un id simple Et pis le name ici sert à rien, comme dit, si y'a rien côté serveur...
  • Virage du document.formulaire.t[infos], qui n'existe plus, et qui est du JavaScript de 1995, à dégager donc par document.getElementById


Valà ! :)

Message cité 1 fois
Message édité par FlorentG le 13-10-2005 à 14:47:06
n°1222138
oximore
A chacun ses oreilles...
Posté le 13-10-2005 à 14:48:09  profilanswer
 

nycius a écrit :


<a href="#null" onClick="copy2Clipboard(document.formulaire.t[infos])">copier</a>


 
t[infos], c'est le nom du champ? On dirais un array associatif!
 
Sinon, essaie avec ceci:

Code :
  1. document.getElementById('t[infos]').innerHTML;


 
Oximore

n°1222142
FlorentG
Unité de Masse
Posté le 13-10-2005 à 14:52:46  profilanswer
 

oximore a écrit :

t[infos], c'est le nom du champ? On dirais un array associatif!
 
Sinon, essaie avec ceci:

Code :
  1. document.getElementById('t[infos]').innerHTML;


 
Oximore


Perdu : un id ne peut pas contenir de crochets :

Citation :

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-" ), underscores ("_" ), colons (":" ), and periods ("." ).

n°1222154
nycius
Ich liebe dich !
Posté le 13-10-2005 à 15:05:15  profilanswer
 

oximore > cest un array
FlorentG > c'est ce que j'avais lu mais je voulais confirmation merci

n°1222182
oximore
A chacun ses oreilles...
Posté le 13-10-2005 à 15:24:12  profilanswer
 

FlorentG a écrit :

<div>
    <textarea id="tinfo">Tapez votre texte ici !</textarea><br>
    <button type="button" onClick="copy2Clipboard(document.getElementById('tinfos')">copier</button>
</div>


 
Merci pour la correction FlorentG, je ne savais pas.
 
Ceci dit, je ne comprend pas comment tu as résolu le fait que son nom d'id (qui ne pouvait pas être changé  
selon nycius) qui est un array fonctionne dans ton exemple.  
Tu lui as mis un autre id à son textarea qui est un string (je pense que tu as fais une petite faute qd tu appelles la fonction js ('document.getElementById('tinfos')'), il y a un 's' de trop à 'tinfo'), et plus un array.
 
Est-ce que je n'ai rien compris? Oder?
 
Oximore

n°1222194
FlorentG
Unité de Masse
Posté le 13-10-2005 à 15:28:28  profilanswer
 

Ah merde ouais, faute de frappe pour le 's' :D Sinon donc j'ai viré son name bizarre, j'ai viré donc les crochets :D

n°1222220
oximore
A chacun ses oreilles...
Posté le 13-10-2005 à 15:40:24  profilanswer
 

Comme je suis intéressé par ce petit script, je l'ai fais fonctionné chez moi.
 
voici le code complet pour copier-coller:
 

Code :
  1. <script type="text/javascript">
  2.   function copy2Clipboard(obj)
  3.   {
  4.     var textRange = document.body.createTextRange();
  5.     textRange.moveToElementText(obj);
  6.     textRange.execCommand("Copy" );
  7.     document.getElementById('tinfo2').innerHTML = textRange.text;
  8.   }
  9. </script>
  10. <textarea id="tinfo">Tapez votre texte ici !</textarea><br>
  11. <button type="button" onClick="copy2Clipboard(document.getElementById('tinfo'));">copier</button>
  12. <br /><br />
  13. <textarea id="tinfo2"></textarea>


 
Ceci dit, la fonction

createTextRange()

ne fonctionne que pour Ie!?
Très dommage pour moi car je n'emploie que des fonctions qui fonctionnent partout.. :bounce:  
 
Oximore

n°1222637
gatsusat
Posté le 14-10-2005 à 01:57:33  profilanswer
 

le copier coller dans le presse papier c'est une fonction valable que dans IE, et encore c'est extraordinaire que IE laisse passer une telle anerie.
 
je crois ke kangol a mis en place un truc sur son site, kan tu vas sur une page, il recupère le contenu de ton presse-papier.


---------------
Les CSS c'est bon mangez-en

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Soucis avec script JS pour copier:coller

 

Sujets relatifs
Conseil vente de script php Annuaireprobleme script news
exécuter un script de migration de données entre bases SQLcompilation 'statique' d'un script perl pour windows
mon 1er script php, mot de passe sur page web ; comment faire?Script relever comptes POP
[AIDE PHP] manque une ou 2 commandes sur mon script...script shell - savoir si un processus est lancé
Probléme avec un script d'upload d'imagesScript de randomisation d'affichage d'une image
Plus de sujets relatifs à : Soucis avec script JS pour copier:coller


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR