Copy to Clipboard

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny von Gaal

Danny von Gaal

12/09/2017 15:25:18
Quote Anchor link
Ik ben nog niet zo bekend met javascript en ik kom dus ook ergens niet uit. Ik wil de inhoud van een div kopiëren naar je klembord als je op een button klikt. Maar wanneer ik onderstaande code uitvoer staat "document.getElementById("FormNieuwCSR-Alert")" in mijn klembord ipv de inhoud van de div haha.

Iemand idee hoe ik de inhoud krijg?

var copy = document.getElementById("FormNieuwCSR-Alert").textContent; heb ik ook al geprobeerd maar zonder succes.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
var range = document.createRange();
range.selectNode(document.getElementById("FormNieuwCSR-Alert"));
window.getSelection().addRange(range);
document.execCommand("Copy");
alert("text copied");
 
PHP hulp

PHP hulp

07/12/2019 17:11:35
 
Ivo P

Ivo P

12/09/2017 20:16:43
Quote Anchor link
hier doet iemand dat voor:

http://www.jstips.co/en/javascript/copy-to-clipboard/

ik zie niet wat jouw regels extra doen
 
Danny von Gaal

Danny von Gaal

14/09/2017 15:15:38
Quote Anchor link
Thanks en dat voorbeeld werkt goed als je een input veld gebruikt.
Maar ik wil de inhoud van een div naar het klembord kopieren en dan moet je een range aanmaken.

Ik lees ook overal dat IE er anders in is dan Chrome. Het is me helaas nog niet gelukt.

Toevoeging op 14/09/2017 15:51:06:

Uiteindelijk maar deze library gebruikt.
Werkt goed: https://davidwalsh.name/clipboard
 
Rob Doemaarwat

Rob Doemaarwat

14/09/2017 20:08:44
Quote Anchor link
Volgens mij komt het uiteindelijk allemaal hier op neer:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  function copyStr(str){
    var result = false,node = document.createTextNode(str),range = document.createRange(),selection = window.getSelection();
    try{
      document.body.appendChild(node);
      selection.removeAllRanges();
      range.selectNodeContents(node);
      selection.addRange(range);
      result = document.execCommand('copy');
      document.body.removeChild(node);
    }
    catch(e){
      console.error(e);
    }
    return result;
  }


Let wel op dat je 'copy' actie het gevolg van een gebruikersactie moet zijn (klik ergens op). Je mag niet zomaar 'vanuit het niets' een kopieer actie starten.
Gewijzigd op 14/09/2017 20:09:11 door Rob Doemaarwat
 
Jan te Pas

Jan te Pas

03/11/2017 08:30:44
Quote Anchor link
Ik heb een goede tutorial, met werkend script gevonden. Dit gebruik ik inmiddels al geruime tijd. https://davidwalsh.name/clipboard
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.