Nie mam wiedzy na temat JavaScript, ale udało mi się umieścić ten kod razem za pomocą bitów i śrub z różnych odpowiedzi przepełnienia Stack . Działa poprawnie i wyprowadza tablicę wszystkich zaznaczonych pól wyboru w dokumencie za pomocą pola alertu.Kopiowanie danych wyjściowych zmiennej JavaScript do schowka
function getSelectedCheckboxes(chkboxName) {
var checkbx = [];
var chkboxes = document.getElementsByName(chkboxName);
var nr_chkboxes = chkboxes.length;
for(var i=0; i<nr_chkboxes; i++) {
if(chkboxes[i].type == 'checkbox' && chkboxes[i].checked == true) checkbx.push(chkboxes[i].value);
}
return checkbx;
}
I to nazwać używam:
<button id="btn_test" type="button" >Check</button>
<script>
document.getElementById('btn_test').onclick = function() {
var checkedBoxes = getSelectedCheckboxes("my_id");
alert(checkedBoxes);
}
</script>
Teraz chciałbym zmodyfikować go tak po kliknięciu przycisku btn_test
tablica wyjściowa checkbx
jest kopiowany do schowka. Próbowałem dodając:
checkbx = document.execCommand("copy");
lub
checkbx.execCommand("copy");
na końcu funkcji, a następnie wywołanie to lubią:
<button id="btn_test" type="button" onclick="getSelectedCheckboxes('my_id')">Check</button>
Ale to nie działa. Żadne dane nie są kopiowane do schowka.
Wątpię, czy możesz skopiować surowy obiekt JS do schowka. '.execCommand ('copy')' kopiuje zaznaczenie na stronie (jeśli jest dozwolone w preferencjach użytkownika). Możesz spróbować ułożyć tablicę, a następnie wypełnić ją tekstem, wybrać wszystko z textarea, a następnie skopiować za pomocą 'execCommand'. Podczas wklejania przechwyć zdarzenie i odtwórz zawartość z powrotem do tablicy. – Teemu
OK .. Dzięki za wskazanie mi kierunku. Sądziłem, że to prawdopodobnie nie jest możliwe, ponieważ nie zwracają żadnych bezpośrednich wyników wyszukiwania. Więc myślę, że postaram się zrobić tak, jak sugerujesz. – harman
To może być głupie pytanie, ale gdzie/jak wkleić surowy obiekt JS? – Teemu