Javascript 制作用户可以跳过问题的简单测验

Javascript 制作用户可以跳过问题的简单测验,javascript,html,Javascript,Html,我想做一个简单的小测验,跳过问题,这意味着用户有权跳过问题,如果他不确定。在我的代码中,当我跳过问题选项,然后不显示答案时,有4个问题选项。但当我尝试所有的问题时,它给出了答案。请建议我怎么做 函数结果(){ var x1=document.querySelector('input[name=“Q1”]:checked')。值; var x2=document.querySelector('input[name=“Q2”]:checked')。值; var x3=document.queryS

我想做一个简单的小测验,跳过问题,这意味着用户有权跳过问题,如果他不确定。在我的代码中,当我跳过问题选项,然后不显示答案时,有4个问题选项。但当我尝试所有的问题时,它给出了答案。请建议我怎么做

函数结果(){
var x1=document.querySelector('input[name=“Q1”]:checked')。值;
var x2=document.querySelector('input[name=“Q2”]:checked')。值;
var x3=document.querySelector('input[name=“Q3”]:checked')。值;
var x4=document.querySelector('input[name=“Q4”]:checked')。值;
var结果=parseInt(x1)+parseInt(x2)+parseInt(x3)+parseInt(x4);
document.getElementById(“score”).innerHTML=结果;
}
Q1
A.
B
C
D
问题2 A. B C D
第三季度 A. B C D
第四季度 A. B C D
你的分数是__
提交
您的代码失败,因为它试图访问未选定字段的值

您可以使用新的
,如果选择器不返回任何内容,它将返回null

PS:你需要唯一的ID,或者只是把标签绕在收音机上

如果没有回答,我会打0分。如果愿意,请更改为-1

PPS:添加了更精简的地图并减少

函数结果(){
var x1=document.querySelector('input[name=“Q1”]:checked')?.value | | 0;
var x2=document.querySelector('input[name=“Q2”]:checked')?.value | | 0;
var x3=document.querySelector('input[name=“Q3”]:checked')?.value | | 0;
var x4=document.querySelector('input[name=“Q4”]:checked')?.value | | 0;
var结果=parseInt(x1)+parseInt(x2)+parseInt(x3)+parseInt(x4);
document.getElementById(“score”).innerHTML=结果;
//另类
const res=[…document.querySelectorAll('input[name^=Q]:checked')]
.map(inp=>+inp.value);
常数分数=分辨率长度?分辨率减少((a,b)=>a+b):0
控制台日志(score)
}
Q1
A.
B
C
D
问题2 A. B C D
第三季度 A. B C D
第四季度 A. B C D
你的分数是__
提交
您的代码失败,因为它试图访问未选定字段的值

您可以使用新的
,如果选择器不返回任何内容,它将返回null

PS:你需要唯一的ID,或者只是把标签绕在收音机上

如果没有回答,我会打0分。如果愿意,请更改为-1

PPS:添加了更精简的地图并减少

函数结果(){
var x1=document.querySelector('input[name=“Q1”]:checked')?.value | | 0;
var x2=document.querySelector('input[name=“Q2”]:checked')?.value | | 0;
var x3=document.querySelector('input[name=“Q3”]:checked')?.value | | 0;
var x4=document.querySelector('input[name=“Q4”]:checked')?.value | | 0;
var结果=parseInt(x1)+parseInt(x2)+parseInt(x3)+parseInt(x4);
document.getElementById(“score”).innerHTML=结果;
//另类
const res=[…document.querySelectorAll('input[name^=Q]:checked')]
.map(inp=>+inp.value);
常数分数=分辨率长度?分辨率减少((a,b)=>a+b):0
控制台日志(score)
}
Q1
A.
B
C
D
问题2 A. B C D
第三季度 A. B C D
第四季度 A. B C D
你的分数是__
提交
注意:元素
id
s必须是唯一的注意:元素
id
s必须是唯一的