onclick事件怎么動(dòng)態(tài)傳入?yún)?shù)
比如頁面上有一個(gè)文本框,可以輸入任意數(shù)字,有一個(gè)按鈕,點(diǎn)擊計(jì)算。我要獲取文本框輸入的值,傳入一個(gè)函數(shù)參數(shù)內(nèi),點(diǎn)擊按鈕時(shí),調(diào)用該函數(shù)實(shí)現(xiàn)輸出0到該輸入的數(shù)字之間的質(zhì)數(shù)。怎么動(dòng)態(tài)傳入獲取的值呢?
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>輸出質(zhì)數(shù)</title> <style?type="text/css"> #main{ ????text-align:?center; } #btn{ ????width:?25%; ????height:?25px; } </style> </head> <body> <div?id="main"> ????<h3>請輸入一個(gè)大于零的數(shù)字,輸出零到該數(shù)字之間的質(zhì)數(shù)</h3> ????<form> ????????<input?type="text"?id="btn"?name="btn"?placeholder="請輸入一個(gè)大于零的數(shù)字"?/> ????????<input?type="button"?id="btn2"?name="btn2"?value="點(diǎn)擊計(jì)算"?onclick="outputPrime()"?/>??//這里怎么傳入?yún)?shù)呢? ????</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"); ????//輸出零到指定數(shù)字以內(nèi)的質(zhì)數(shù) ????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;
把這句話剪切到函數(shù)體內(nèi) ?函數(shù)參數(shù)num去掉 然后 函數(shù)體中num用 prime
2017-03-06
按你的答案,上面的例子可以實(shí)現(xiàn)了。但如果真的要在JS事件中動(dòng)態(tài)傳入?yún)?shù),要怎么做呢?