Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正在做一个关于Javascript的基本测试,但我没有得到任何结果。我的代码中有哪些错误&我需要做什么?_Javascript_Html - Fatal编程技术网

我正在做一个关于Javascript的基本测试,但我没有得到任何结果。我的代码中有哪些错误&我需要做什么?

我正在做一个关于Javascript的基本测试,但我没有得到任何结果。我的代码中有哪些错误&我需要做什么?,javascript,html,Javascript,Html,我需要满足三个标准: 脚本应显示正确答案的数量和 测验底部的正确率。 如果所有问题都已解决,则显示文本“做得好” 回答正确,否则请“重试”。 “重试”上的超链接可重新加载页面。 我还没有达到第二和第三个标准,因为我无法显示第一个问题的测试分数。 我尝试过使用两种不同的方法,但由于我还没有完全理解switch,我认为我没有正确地使用它。 我还尝试检查元素,但它没有显示任何错误。 我还是一名学生&一名JavaScript和编码方面的业余爱好者,所以我会欣赏简单而不过于复杂的解决方案 谢谢 JS测验

我需要满足三个标准:

脚本应显示正确答案的数量和 测验底部的正确率。 如果所有问题都已解决,则显示文本“做得好” 回答正确,否则请“重试”。 “重试”上的超链接可重新加载页面。 我还没有达到第二和第三个标准,因为我无法显示第一个问题的测试分数。 我尝试过使用两种不同的方法,但由于我还没有完全理解switch,我认为我没有正确地使用它。 我还尝试检查元素,但它没有显示任何错误。 我还是一名学生&一名JavaScript和编码方面的业余爱好者,所以我会欣赏简单而不过于复杂的解决方案

谢谢

JS测验模板 测验 RAM代表什么? 1.随机算术数学 2.随机存取存储器 3.区域会计货币 答复1: ADC代表什么? 1.异步拨号呼叫 2.主动数据库芯片 3.模数转换器 答复2: AGP代表什么? 1.活动图形指针 2.加速图形端口 3.模拟网关协议 答复3: 激光代表什么? 1.发光和发声范围 2.通过受激辐射的光放大。 3.岩石圈周围的闪电迷路 答复4: CPU代表什么? 1.中央处理器(CPU) 2.控制主单元 3.中央个人股 答复5: 测试你的答案 正确答案的数量

函数QuizFunction{ var ans1=document.getElementById'RAM'。值; ans2=document.getElementById'ADC'。值; ans3=document.getElementById'AGP'。值; ans4=document.getElementById'LAS'。值; ans5=document.getElementById'CPU'。值; 分数=0 函数QuizFunction{ ifans1=2{var分数=分数++; document.getElementById'pstyle'.innerHTMLscore+'/5';} else{document.getElementById'pstyle'.innerHTMLscore+'/5'} } } /** 函数QuizFunction { var ans1=document.getElementById'RAM'。值; ans2=document.getElementById'ADC'。值; ans3=document.getElementById'AGP'。值; ans4=document.getElementById'LAS'。值; ans5=document.getElementById'CPU'。值; 分数=0 开关1{ 案例2: 分数=分数+1 违约: 分数=分数 } 开关2{ 案例3: 分数=分数+1 违约: 分数=分数 } 开关3{ 案例3: 分数=分数+1 违约: 分数=分数 } 开关4{ 案例2: 分数=分数+1 违约: 分数=分数 } 切换开关5{ 案例1: 分数=分数+1 违约: 分数=分数 } document.getElementById'pstyle'.innerHTMLscore+/5++score/5*100+% } **/ 您有一个生成结果的QuizFunction,嵌套在QuizFunction中。从嵌套函数中获取代码并将其放入第一个函数中。然后删除嵌套函数

然后代码将运行,但是.innerHTML会出现错误,因为在它后面加括号,并试图将参数传递给它,就像它是一个函数,但它是一个属性一样,所以需要在它后面加上=并为其赋值

除此之外,您真的不应该使用input type=number,除非您将输入限制为可供选择的答案数量,您可以通过添加min和max属性来实现这一点。实际上,对每个可能的答案使用input type=radio是最好的用户界面

JS测验模板 测验 RAM代表什么? 1.随机算术数学 2.随机存取存储器 3.区域会计货币 答复1: ADC代表什么? 1.异步拨号呼叫 2.主动数据库芯片 3.模数转换器 答复2: AGP代表什么? 1.活动图形指针 2.加速图形端口 3.模拟网关协议 答复3: 激光代表什么? 1.发光和发声范围 2.通过受激辐射的光放大。 3.岩石圈周围的闪电迷路 答复4: CPU代表什么? 1.中央处理器(CPU) 2.控制主单元 3.中央个人股 答复5: 测试你的答案 正确答案的数量

函数QuizFunction{ var ans1=document.getElementById'RAM'。值; ans2=document.getElementById'ADC'。值; ans3 =document.getElementById'AGP'。值; ans4=document.getElementById'LAS'。值; ans5=document.getElementById'CPU'。值; 分数=0 ifans1=2{var分数=分数++; document.getElementById'pstyle'。innerHTML=score+'/5'; }否则{ document.getElementById'pstyle'。innerHTML分数+'/5'; } }
代码中的问题是您嵌套了名为QuizFunction的函数,之后在.innerHTML中嵌套了该函数。您犯了一个错误,使用了这个括号,而不是使用了=使用了…我已经修复了代码并对编辑部分进行了注释。您可以查看一下

这是固定代码

希望这将是一个你正在尝试做的

函数QuizFunction{ var ans1=document.getElementById'RAM'。值; var ans2=document.getElementById'ADC'。值; var ans3=document.getElementById'AGP'。值; var ans4=document.getElementById'LAS'。值; var ans5=document.getElementById'CPU'。值; 风险值得分=0 ifans1==2{ score=score+1;//从中删除了var,因为您已经初始化了它 }否则,ifans2==3{ 分数=分数+1; }否则ifans3==2{ 分数=分数+1; }否则,ifans4==2{ 分数=分数+1; }否则,如果5==1{ 分数=分数+1; } document.getElementById'pstyle'.innerHTML=score+'/5';//删除了paradensis,并使用=等于进行赋值 } /** 函数QuizFunction { var ans1=document.getElementById'RAM'。值; ans2=document.getElementById'ADC'。值; ans3=document.getElementById'AGP'。值; ans4=document.getElementById'LAS'。值; ans5=document.getElementById'CPU'。值; 分数=0 开关1{ 案例2: 分数=分数+1 违约: 分数=分数 } 开关2{ 案例3: 分数=分数+1 违约: 分数=分数 } 开关3{ 案例3: 分数=分数+1 违约: 分数=分数 } 开关4{ 案例2: 分数=分数+1 违约: 分数=分数 } 切换开关5{ 案例1: 分数=分数+1 违约: 分数=分数 } document.getElementById'pstyle'.innerHTMLscore+/5++score/5*100+% } **/ JS测验模板 测验 RAM代表什么? 1.随机算术数学 2.随机存取存储器 3.区域会计货币 答复1: ADC代表什么? 1.异步拨号呼叫 2.主动数据库芯片 3.模数转换器 答复2: AGP代表什么? 1.活动图形指针 2.加速图形端口 3.模拟网关协议 答复3: 激光代表什么? 1.发光和发声范围 2.通过受激辐射的光放大。 3.岩石圈周围的闪电迷路 答复4: CPU代表什么? 1.中央处理器(CPU) 2.控制主单元 3.中央个人股 答复5: 测试你的答案 正确答案的数量


您是否已打开开发人员工具并查看控制台以查看任何错误消息?这就是你应该开始的地方,因为它会告诉你错误在哪一行,以及一条关于问题的信息。哦,对了,我没有注意到。我已经改正了,但是现在下一个问题是分数没有显示在正确答案的数量之下。我知道代码是有效的,因为我用alert替换了document.getElementById'pstyle.innerHTML。如何让它显示分数和下面的百分比?如果我用document.write替换它,整个页面将消失&只显示分数。@Dhruv这是一个与您在这里提出的问题不同的问题。你应该发布一个新的问题,只关注这个问题,并将这个答案标记为你在这里提出的问题的答案。不要使用document.write。你需要花一些时间来了解这个问题。我们这里不是教程网站。我们希望你先做你的研究和学习,然后只有在你有问题的时候才发布。仅仅发布工作代码并不是一个好的答案。请花点时间读一下。