kopiowanie dowolnej zmiennej do windowsowego schowka

0

Dzień dobry wszystkim.
Mam problem ze znalezieniem najprostrzego kodu na kopiowanie tekstu z dowolnej zmiennej do schowka windowsowego. Nie jestem programistą i nie umiem pisać kodów, a już tym bardziej nie potrafię ich modyfikować.

Chodzi mi o prostą rzecz. Mam zmienną

var input = "qwert";

chciałbym ją zaznaczyć

 input.select();

a potem chciałbym ją skopiować do schowka.

 document.execCommand("copy");

Znalazłem taki kod,

var copyTextToClipboard = function() {
 var input = document.querySelector("#copier-value");
 input.select();
 document.execCommand("copy");
}

document.querySelector("#copier-submit").addEventListener('click',copyTextToClipboard);

Nie potrafię zamienić go.

2
<input id="temp">
<button id="kopiuj">kopiuj</button>

<script>
  function kopiuj_do_schowka() {
    var o = document.querySelector("#temp");
    o.value = dowolna_zmienna;
    o.select();
    document.execCommand("copy");
  }
  document.querySelector("#kopiuj").addEventListener('click', kopiuj_do_schowka);

  dowolna_zmienna = 12345;
</script>
4

Tak nie do końca rozumiem, o co pytasz, ale pewnie poniższy kod rozwiąże Twój problem:

https://jsfiddle.net/Lj4vt69w/

<input type="text" value="Jakiś napis" id="textToCopy">
<button onclick="wezInoSkopiujPole()">Skopiuj tekst do schowka</button>
<button onclick="wezInoSkopiujZmienna()">Skopiuj do schowka tekst "KASZANKA"</button>

<script>

function wezInoSkopiujPole() {
  var copyText = document.getElementById("textToCopy");
  copyText.select();
  copyText.setSelectionRange(0, 99999)
  document.execCommand("copy");
}

function wezInoSkopiujZmienna() {
var tymczasowe = document.createElement("textarea");
    document.body.appendChild(tymczasowe);
    tymczasowe.value = "KASZANKA";
    tymczasowe.select();
    document.execCommand("copy");
    document.body.removeChild(tymczasowe);
}

</script>

Zauważ, że skopiowanie jakiejś zmiennej do schowka jest lekko skomplikowane. Może da się inaczej, ale z tego co kojarzę, to nie można tego zrobić wprost. Jedyne co, to można stworzyć tymczasowe pole tekstowe, zapełnić je jakimś tekstem, a następnie tekst skopiować i skasować to pole. Ale jeśli ktoś zna inny sposób to chętnie się też czegoś nauczę :)

0

DZIĘKI WIELKIE za szybką odpowiedź :-)
Pisząc o najprostrzym kodzie miałem na myśli taki kod, który mógłbym zastosować w oprogramowaniu, które wdrożono w mojej firmie.
Podaję przykładowy kod.

var brak_uwag = getVariables().variables.kiosk_uwagi_1;

if (brak_uwag === "") 
    {
   setResults ( {variables:{kiosk_uwagi_1:"brak uwag"} } ) ;
    }
else
    {
        setResults ( {variables:{kiosk_uwagi_1:brak_uwag} } ) ;
    }

Kod który sprawdzam sobie na stronie wygląda tak

var brak_uwag = "brak uwag";

if (brak_uwag === "") 
    {
   console.log("brak uwag") ;
    }
else
    {
    console.log(brak_uwag) ;
    }
2

Jako rozszerzenie jQuery do kopiowania z inputów, textarea, może się komuś przyda:

$("document").ready( function () {

    jQuery.copyToClipboard = function(element) {
        $(element).select();
        document.execCommand("copy");
    }

A potem w HTMLu

<textarea class="form-control monospaced-font-xs" rows="20" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" id="autoit-obfuscated-code">...</textarea>

<button class="btn btn-default btn-block" type="button" title="Copy obfuscated AutoIt script source code to the clipboard." onclick="$.copyToClipboard('#autoit-obfuscated-code')"><span class="icon icon-copy4" aria-hidden="true"></span> Copy</button>

Wolę to podpiąć pod event onclick w HTMLu niż podpinać eventy w JS pod kontrolki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1