(Javascript) Text bei Klick auf Button in Zwischenablage kopieren?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich weiß nicht, ob es eine sauberere Lösung gibt, aber mir ist spontan dieser Workaround mit recht guter Browser-Unterstützung eingefallen:

Du verwendest ein Textfeld...

<input type="text" id="val" value="4" />

..., welches du jedoch unsichtbar machst – aber so, dass das System den Text noch auswählen kann:

#val {
  opacity: 0;
  position: absolute;
  pointer-events: none;
}

Anschließend wird die Zahl ausgewählt und in die Zwischenablage kopiert:

document.getElementById('val').select();
document.execCommand('Copy');

Live-Beispiel: https://jsfiddle.net/s0bn1zn0/

ChemieChemieYa 
Fragesteller
 01.05.2018, 23:20

Genau so. Erstmal Dankeschön für deine Antwort!

Problem ist nur... ich erstelle die Seite in einem HTML-Editor. Wie kann ich HTML, Javascript und CSS in einen einzigen Code zusammen?

0

Hier findest du den Codeauszug, mit dem man Text in die Zwischenablage bringt:

https://www.w3schools.com/howto/howto_js_copy_clipboard.asp

Oder meintest du, wie der Text auf dem Button ausgelesen und die Formel dann automatisch berechnet wird?

ChemieChemieYa 
Fragesteller
 01.05.2018, 23:14

Das hatte ich auch schon gefunden. Mir geht es nur darum, dass dieser Text in der Textbox nicht sichtbar ist bzw. sichtbar sein soll. Einzig beim Klick auf den Knopf wird ein vordefinierter Text in die Zwischenablage kopiert.

0
AbbathFangirl  01.05.2018, 23:16
@ChemieChemieYa

Du kannst ja den Text in ein nicht sichtbares <div> o. ä. packen und darauf dann die Copy-Funktion rufen.

0
Erzesel  02.05.2018, 07:26
@ChemieChemieYa

bezogen auf obige Demo...

...
<input style="visibility: hidden" type="text" value="Hello World" id="myInput">
<button onclick="myFunction()">Copy text</button>
...
0