Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 生成数字并将其写入剪贴板_Javascript - Fatal编程技术网

Javascript 生成数字并将其写入剪贴板

Javascript 生成数字并将其写入剪贴板,javascript,Javascript,我想让用户输入一个最小值和一个最大值,然后我尝试从最小值到最大值生成数字,并将结果保存到剪贴板中 然而,我总是得到未捕获的引用错误:generateNumbers没有定义,并且无法解释原因 window.onLoad=function() { 函数generateNumbers() { var min=document.getElementById(“min”).value; var max=document.getElementById(“max”).value; var结果=”; 对于(变

我想让用户输入一个最小值和一个最大值,然后我尝试从最小值到最大值生成数字,并将结果保存到剪贴板中

然而,我总是得到
未捕获的引用错误:generateNumbers没有定义,并且无法解释原因

window.onLoad=function()
{
函数generateNumbers()
{
var min=document.getElementById(“min”).value;
var max=document.getElementById(“max”).value;
var结果=”;
对于(变量i=min;i
MIN:
最大值:

发送
问题是,
generateNumbers
函数不在全局范围内。通过向按钮添加事件侦听器而不是使用onClick属性,可以解决此问题:

document.getElementById(“mybutton”).addEventListener(“单击”,生成枚举器);
函数generateNumbers()
{
var min=document.getElementById(“min”).value;
var max=document.getElementById(“max”).value;
var结果=”;

对于(var i=min;i您需要删除window.onload部分,只需在按钮的onclick处理程序中调用该函数

这里有一种方法:

<meta charset="UTF-8">
<script>
function generateNumbers() {
    var min = parseInt(document.getElementById("min").value);
    var max = parseInt(document.getElementById("max").value);
    var result = "";
    for (var i = min; i <= max; i++) {
        result += i;
        if (i < max) {
            result += ";";
        }
    }

    console.log(result);
    copyToClipboard(result);
}

function copyToClipboard(text) {
    window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
}
</script>
<input id="min" type="text" value="1">
<input id="max" type="text" value="10">
<button onclick="generateNumbers()">Test</button>

函数generateNumbers(){
var min=parseInt(document.getElementById(“min”).value);
var max=parseInt(document.getElementById(“max”).value);
var结果=”;

对于(var i=min;我只是在JavaScript中使用了
addEventListener
,这比摆弄属性和作用域要容易。在window.onload事件中定义函数毫无意义,它会导致您遇到的问题。@ManoDestra
generateNumbers
不在全局作用域中。是的,他需要从中删除它,当然。这确实毫无意义。window.onload处理程序完全是多余和不必要的。删除了我以前的注释,因为现在问题已经编辑好了。谢谢大家,我可以通过添加事件侦听器来解决它!:)简化为
文档。getElementById(“mybutton”)。addEventListener(“单击”,generateNumbers);