问答详情
源自:6-2 鼠标单击事件( onclick )

onclick事件怎么动态传入参数

比如页面上有一个文本框,可以输入任意数字,有一个按钮,点击计算。我要获取文本框输入的值,传入一个函数参数内,点击按钮时,调用该函数实现输出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>


提问者:慕粉3428670 2017-03-03 22:33

个回答

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

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

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

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

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