var ques=["Qno 1", "Qno 2","Qno 3","Qno 4","Qno 5","Qno 6","Qno 7","Qno 8","Qno 9","Qno 10"];
var ans =[1,2,3,4,5,6, 7,8,9,10];
function random()
{
var qno=Math.floor((Math.random() * 10) );
return qno;
}
function validate()//here need help
{
var Rans=document.getElementById("numb").value;
if (Rans == ans[qno])
alert("validated!!!");
else
alert("Not a valid entry.. declined!!!");
}
function execution()
{
var x = document.getElementById("myDIV");
if (x.style.display === "none") { x.style.display = "block";}
else {x.style.display = "none";}
var qno1=random();
document.getElementById("demo").innerHTML = ques[qno1];
var qno2=random();
if(qno1==qno2)
qno2=random();
document.getElementById("demos").innerHTML = ques[qno2];
}
在上面的代码中,我试图生成随机问题。这只是我代码的javascript部分。 首先从2个数组开始分别是问题和sol。代码成功执行,但是验证部分出现问题。为了进行验证,我想在按HTML按钮标记中的提交按钮时将qno1值传递给验证功能。请帮助我执行此代码,以及如何在两个函数之间共享公共变量。
答案 0 :(得分:0)
您需要将var的作用域限定在函数之外,以便可以在两个函数中同时使用它们。
var ques=["Qno 1", "Qno 2","Qno 3","Qno 4","Qno 5","Qno 6","Qno 7","Qno 8","Qno 9","Qno 10"];
var ans =[1,2,3,4,5,6, 7,8,9,10];
//move scope of vars
var qno1
function random()
{
var qno=Math.floor((Math.random() * 10) );
return qno;
}
function validate (qno)// use it here by passing it in
{
var Rans=document.getElementById("numb").value;
if (Rans == ans[qno])
alert("validated!!!");
else
alert("Not a valid entry.. declined!!!");
}
function execution()
{
var x = document.getElementById("myDIV");
if (x.style.display === "none") { x.style.display = "block";}
else {x.style.display = "none";}
// set here
qno1=random();
document.getElementById("demo").innerHTML = ques[qno1];
var qno2=random();
if(qno1==qno2)
qno2=random();
document.getElementById("demos").innerHTML = ques[qno2];
}
// call it wherever
validate(qno1)