Javascript 如何在测验e中仅显示相关答案

Javascript 如何在测验e中仅显示相关答案,javascript,html,Javascript,Html,我有一个小测验,在这里你可以看到一些关于答案的信息,在你提交答案后,它是正确的还是错误的。单击“提交”后,将显示关于答案的所有3条信息文本,而不仅仅是您单击的答案。 您如何使单击答案A时可以看到信息A? 而不是信息A B C document.getElementById(“form1”).onsubmit=function(e){ e、 预防默认值(); variable=parseInt(document.querySelector('input[name=“variable”]:chec

我有一个小测验,在这里你可以看到一些关于答案的信息,在你提交答案后,它是正确的还是错误的。单击“提交”后,将显示关于答案的所有3条信息文本,而不仅仅是您单击的答案。 您如何使单击答案A时可以看到信息A? 而不是信息A B C

document.getElementById(“form1”).onsubmit=function(e){
e、 预防默认值();
variable=parseInt(document.querySelector('input[name=“variable”]:checked')。值);
sub=parseInt(document.querySelector('input[name=“sub”]:checked')。值);
con=parseInt(document.querySelector('input[name=“con”]:checked')。值);
结果=变量+子项+con;
document.getElementById(“grade”).innerHTML=结果;
var result2=“”;
如果(结果==0){
结果2=“我认为你没有学习。”
};
如果(结果==33){
result2=“您需要花费更多时间。请重试。”
};
如果(结果==66){
result2=“我认为您可以做得更好。再试一次。”
};
如果(结果==99){
result2=“非常好!”
};
document.getElementById(“grade2”).innerHTML=result2;
return false;//不刷新页面是必需的;只需将其留在这里
}//这将结束提交函数
函数myFunction(){
document.getElementById(“demo”).innerHTML=“八角形是一个有8个边的对象”;
document.getElementById(“demo2”).innerHTML=“麻风是一种慢性感染”;
document.getElementById(“demo3”).innerHTML=“是的!这是正确的”;
}
.quizbox{
宽度:58%;
最大宽度:950px;
边框:1px灰色实体;
保证金:自动;
填充:10px;
边界半径:10px;
边框宽度:5px;
边框颜色:#00A7AE;
利润率最高:7%;
文本对齐:居中;
位置:相对位置;
背景:#73B7DB;
}
.行{
文本对齐:左对齐;
颜色:白色;
左边距:10%;
}
演示,演示2,演示3{
显示:内联;
颜色:绿色;
保证金权利:30%;
浮动:对;
宽度:50%;
}

测验
蛾是什么目的成员?
八角形
麻风病
鳞翅目
问题2
答复1
答复2
答复3
问题3
答复1
答复2
答复3

你的成绩是:__

fdf fdffdf fd
试试这个:

  function myFunction() {

            var checked = document.querySelector("input[name = 'variable']:checked");
            var value = checked.parentNode.lastChild.id;
            var answer;
            switch (value) {
              case 'demo':
                answer = "An octagon is an object with 8 sides to it";
                break;
              case 'demo2':
                answer = "Leprosy is a chronic infection";
                break;
              case 'demo3':
                answer = "Yes ! this is correct";  
                break;
            }
            checked.parentNode.lastChild.innerHTML = answer;
    }
但是最好使用css来显示/隐藏正确答案

试试以下方法:

  function myFunction() {

            var checked = document.querySelector("input[name = 'variable']:checked");
            var value = checked.parentNode.lastChild.id;
            var answer;
            switch (value) {
              case 'demo':
                answer = "An octagon is an object with 8 sides to it";
                break;
              case 'demo2':
                answer = "Leprosy is a chronic infection";
                break;
              case 'demo3':
                answer = "Yes ! this is correct";  
                break;
            }
            checked.parentNode.lastChild.innerHTML = answer;
    }

但是最好使用css来显示/隐藏正确答案

我使用了你的代码,但是当我单击另一个答案然后提交时,上一个答案不会消失你用我的代码替换了你的
myFunction()
代码?我刚刚做了,效果很好。是的,我复制错了,但我现在编辑了我的答案。要重置所有输入,请添加
var-inputArr=Array.prototype.slice.call(document.getElementsByTagName('input')).concat([]);forEach(函数(输入){input.checked=false;})在提交功能结束时,重置代码可能很有用,但我不想重置所有内容,只想重置前面的答案。如果单击答案a,则会显示a的说明。但是当你点击答案B并提交时,解释B会出现,但解释A仍然存在:我使用了你的代码,但当我点击另一个答案并提交时,上一个答案不会消失你用我的代码替换了你的
myFunction()?我刚刚做了,效果很好。是的,我复制错了,但我现在编辑了我的答案。要重置所有输入,请添加
var-inputArr=Array.prototype.slice.call(document.getElementsByTagName('input')).concat([]);forEach(函数(输入){input.checked=false;})在提交功能结束时,重置代码可能很有用,但我不想重置所有内容,只想重置前面的答案。如果单击答案a,则会显示a的说明。但当您单击答案B并提交时,说明B将显示,但说明A仍然存在:S