Javascript-我可以';我找不到我的错误。(单选按钮)
我想创建一个在线测试,但我的第一个问题有问题。下面的代码不起作用,即使检查了正确答案,也会返回“你的分数为0”Javascript-我可以';我找不到我的错误。(单选按钮),javascript,html,button,radio,Javascript,Html,Button,Radio,我想创建一个在线测试,但我的第一个问题有问题。下面的代码不起作用,即使检查了正确答案,也会返回“你的分数为0” SSSDSDSD Mypage.com 我的网页 var合计=0; var yourmark=“你的分数是”; if(document.getElementById('q12')。选中){ 总计=总计+1; }否则{ 总计=总计; } 函数showScore(){ 警惕(你的分数+总数); } 问题1-第一选项 问题1-第二个选项 问题1-第三种选择 显示我的分数 此块: var
SSSDSDSD
Mypage.com
我的网页
var合计=0;
var yourmark=“你的分数是”;
if(document.getElementById('q12')。选中){
总计=总计+1;
}否则{
总计=总计;
}
函数showScore(){
警惕(你的分数+总数);
}
问题1-第一选项
问题1-第二个选项
问题1-第三种选择
显示我的分数
此块:
var total=0;
var yourmark="your score is ";
if(document.getElementById('q12').checked) {
total=total+1;
}else {
total=total;
}
加载时在页面的开头运行。此时,total
实际上是0
。当你点击按钮时,你所要求的只是'total的值。更改选项后,您绝不会更新
total`的值
正如PM 77-1所建议的,最简单的解决方案是将计算移到函数内部,这样每当您需要更新的答案时,total
就会被计算出来
SSSDSDSD
Mypage.com
我的网页
函数showScore(){
var合计=0;
var yourmark=“你的分数是”;
if(document.getElementById('q12')。选中){
总计=总计+1;
}否则{
总计=总计;
}
警惕(你的分数+总数);
}
问题1-第一选项
问题1-第二个选项
问题1-第三种选择
显示我的分数
下面列出了事情不能按您所希望的方式运行的直接原因
SSSDSDSD
Mypage.com
我的网页
函数showScore(){
警惕(你的分数+总数);
}
问题1-第一选项
问题1-第二个选项
问题1-第三种选择
显示我的分数
var合计=0;
var yourmark=“你的分数是”;
if(document.getElementById('q12')。选中){
总计=总计+1;
}否则{
总计=总计;
}
因此,将var total=0保留为函数外部的全局变量,并创建一个函数checkAnswer()
。
现在,您的javascript部分将是:
var total = 0;
function checkAnswer() {
//total is the global Variable for the score
if (document.getElementById('q12').checked) {
total = total + 1;
} else {
total = total;
}
return total;
}
function showScore() {
var yourmark = "your score is ";
alert(yourmark + checkAnswer());
}
希望有帮助 您添加了在文档完全加载之前执行的脚本,这意味着您对单选按钮的检查没有任何作用将分数计算移动到
showScore()
函数中。就快到了。将Java标记更改为JavaScript@Barranka:获取工作代码并对其进行检查以使其更好,它不是为修复损坏/当前不工作的代码而设计的。