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>
2017-03-04
var prime = document.getElementById("btn").value;
把這句話剪切到函數體內 ?函數參數num去掉 然后 函數體中num用 prime
2017-03-06
按你的答案,上面的例子可以實現了。但如果真的要在JS事件中動態傳入參數,要怎么做呢?