我没有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