我沒有JavaScript的知識,但我設法把這個代碼放在一起使用的比特和螺栓來自不同堆棧溢出 解答。它工作正常,並通過警報框輸出文檔中所有選定複選框的數組。JavaScript變量的副本輸出到剪貼板
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;
}
,並呼籲它使用:
<button id="btn_test" type="button" >Check</button>
<script>
document.getElementById('btn_test').onclick = function() {
var checkedBoxes = getSelectedCheckboxes("my_id");
alert(checkedBoxes);
}
</script>
現在我想修改它,當我點擊btn_test
按鈕輸出數組checkbx
被複制到剪貼板。我嘗試添加:
checkbx = document.execCommand("copy");
或
checkbx.execCommand("copy");
在函數的末尾,然後調用它像:
<button id="btn_test" type="button" onclick="getSelectedCheckboxes('my_id')">Check</button>
但它不工作。沒有數據被複制到剪貼板。
我懷疑你可以原始JS對象複製到剪貼板。 '.execCommand('copy')'複製頁面上的選擇(如果用戶首選項允許)。您可以嘗試對數組進行字符串化,然後使用它填充textarea,從textarea中選擇全部,然後使用'execCommand'複製。粘貼時捕捉事件,並將內容解析回數組。 – Teemu
行..感謝您指點我的方向。我認爲這可能是不可能的,因爲它似乎沒有返回任何直接的搜索結果。所以我想我會盡力按照你的建議去做。 – harman
這可能是一個愚蠢的問題,但你會在哪裏/如何粘貼一個原始的JS對象? – Teemu