onclick事件怎么动态传入参数

来源:6-2 鼠标单击事件( onclick )

慕粉3428670

2017-03-03 22:33

比如页面上有一个文本框,可以输入任意数字,有一个按钮,点击计算。我要获取文本框输入的值,传入一个函数参数内,点击按钮时,调用该函数实现输出0到该输入的数字之间的质数。怎么动态传入获取的值呢?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>输出质数</title>
<style type="text/css">
#main{
    text-align: center;
}
#btn{
    width: 25%;
    height: 25px;
}
</style>
</head>
<body>
<div id="main">
    <h3>请输入一个大于零的数字,输出零到该数字之间的质数</h3>
    <form>
        <input type="text" id="btn" name="btn" placeholder="请输入一个大于零的数字" />
        <input type="button" id="btn2" name="btn2" value="点击计算" onclick="outputPrime()" />  //这里怎么传入参数呢?
    </form>
    <div>
        <p id="result"></p>
    </div>
</div>



<script type="text/JavaScript">
    

    var prime = document.getElementById("btn").value;
    var result = document.getElementById("result");
    var btncli = document.getElementById("btn2");

    //输出零到指定数字以内的质数
    function outputPrime(num){
        var arr = [];
        for(var i=2; i<=num; i++){
            if(i == 2){
                console.log(i);
                arr.push(i);
            }else if(i%2 != 0){
                for(var j=2; j<i; j++){
                    if(i%j == 0){
                        break;
                    }else if(j == i-1){
                        console.log(i);
                        arr.push(i);
                        result.innerHTML = arr;
                    }
                }
            }
        }
    }
</script>

</body>
</html>


写回答 关注

2回答

  • 帅得被神追
    2017-03-04 21:10:46
    已采纳

    var prime = document.getElementById("btn").value;

    把这句话剪切到函数体内  函数参数num去掉 然后 函数体中num用 prime

  • 慕粉3428670
    2017-03-06 07:52:33

    按你的答案,上面的例子可以实现了。但如果真的要在JS事件中动态传入参数,要怎么做呢?

    帅得被神追

    我的理解是 改变输入 -参数改变 -调用函数 (函数里document.getElementById("btn").value 值就随输入改变 意味着参数是动态的 )

    2017-03-11 20:31:50

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题