Non ho conoscenza di JavaScript, ma sono riuscito a mettere insieme questo codice usando bit e bulloni da varie Risposte dello Stack Overflow. Funziona OK, e genera una matrice di tutte le caselle selezionate in un documento tramite una finestra di avviso.Copia l'output di una variabile JavaScript negli Appunti
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;
}
E chiamarlo io uso:
<button id="btn_test" type="button" >Check</button>
<script>
document.getElementById('btn_test').onclick = function() {
var checkedBoxes = getSelectedCheckboxes("my_id");
alert(checkedBoxes);
}
</script>
Ora vorrei modificarlo in modo che quando si fa clic sul pulsante btn_test
l'array di uscita checkbx
viene copiato negli appunti. Ho provato ad aggiungere:
checkbx = document.execCommand("copy");
o
checkbx.execCommand("copy");
alla fine della funzione e quindi chiamando le cose come:
<button id="btn_test" type="button" onclick="getSelectedCheckboxes('my_id')">Check</button>
Ma non funziona. Nessun dato viene copiato negli appunti.
Dubito che sia possibile copiare un oggetto JS non formattato negli appunti. '.execCommand ('copy')' copia una selezione su una pagina (se consentito nelle preferenze dell'utente). Si può provare a stringificare l'array, quindi compilare una textarea con esso, selezionare tutto da textarea e quindi copiare con 'execCommand'. Quando incollare, catturare l'evento e analizzare il contenuto di nuovo alla matrice. – Teemu
OK .. Grazie per avermi indicato in una direzione. Ho pensato che probabilmente non era possibile in quanto non sembrava che restituisse risultati di ricerca diretta. Quindi credo che proverò a fare come hai suggerito. – harman
Questa è forse una domanda stupida, ma dove/come si incollerebbe un oggetto JS non elaborato? – Teemu