Javascript 测验-统计单选按钮值
我想为西班牙语课做一个小测验。我对JavaScript几乎没有经验,但对html和CSS相当精通。我有一个问题,然后是三个单选按钮和答案。有两个错误答案和一个正确答案。我总共有45个问题Javascript 测验-统计单选按钮值,javascript,html,count,radio-button,Javascript,Html,Count,Radio Button,我想为西班牙语课做一个小测验。我对JavaScript几乎没有经验,但对html和CSS相当精通。我有一个问题,然后是三个单选按钮和答案。有两个错误答案和一个正确答案。我总共有45个问题 <form name="quiz" method="post" name="buttons" id="form" onsubmit="return totalVal()"> <li><div class="question">¿Quién detestan la nueva
<form name="quiz" method="post" name="buttons" id="form" onsubmit="return totalVal()">
<li><div class="question">¿Quién detestan la nueva casa?</div></li>
<input id="answer" type="radio" name="group1" value="wrong"> Josh<br>
<input id="answer" type="radio" name="group1" value="wrong"> Amanda<br>
<input id="answer" type="radio" name="group1" value="correct"> Josh y Amanda<hr>
<li><div class="question">¿Quién es señor Dawes?</div></li>
<input id="answer" type="radio" name="group2" value="wrong">Un familia amigo<br>
<input id="answer" type="radio" name="group2" value="wrong">Un gato<br>
<input id="answer" type="radio" name="group2" value="correct">Un amable joven de la agencia de bienes raíces<hr>
<li><div class="question">¿Quién qué sus buscan?</div></li>
<input id="answer" type="radio" name="group3" value="wrong">Josh<br>
<input id="answer" type="radio" name="group3" value="wrong"> Petey<br>
<input id="answer" type="radio" name="group3" value="correct" >Josh y Petey<hr>
<button class="submit" onclick="showTotalvalue();" type="submit">Submit</button></div>
你讨厌新家吗
乔希
阿曼达
乔希·阿曼达
是塞纳还是道斯
非亲朋好友
Un gato
联合国人权机构
你想问一下巴斯坎吗
乔希
皮特
乔希·皮蒂
提交
我想使用一些基本的Javascript来计算所有“正确”单选按钮值,并输出到一个新页面或警报框,在用户单击submit后显示
我在研究中发现了这个。在我的谷歌搜索中,我找不到计算“正确”值的代码片段。上面的链接是我得到的最接近的链接。我附上了我根据另一篇文章的建议修改的JavaScript,以适应我的情况
totalVal = 0;
// calculate the total number of corrects clicked
for (y = 0; y = incorrectOfQuestion; y++) {
var questionNo = document.getElementsByName("questions" + y);
for (i = 0; i < questionNo.length; i++) {
if (document.myform.questions[i].checked == true) {
totalVal = totalVal + parseInt(document.myform.questions[i].value, 45);
}
}
}
totalVal=0;
//计算单击的更正总数
对于(y=0;y=incorrectOfQuestion;y++){
var questionNo=document.getElementsByName(“问题”+y);
对于(i=0;i
非常感谢您的帮助,因为我现在正处于时间紧迫的时期!谢谢大家! 您可以在每个单选组上循环,然后在每个单选按钮上循环,以检查是否选中了正确的单选按钮
var amountCorrect = 0;
for(var i = 1; i <= 45; i++) {
var radios = document.getElementsByName("group" + i);
for(var j = 0; j < radios.length; j++) {
var radio = radios[j];
if(radio.value === "correct" && radio.checked) {
amountCorrect++;
}
}
}
var amountCorrect=0;
对于(var i=1;i您可以在每个单选组上循环,然后在每个单选按钮上循环,以检查是否选中了正确的单选按钮
var amountCorrect = 0;
for(var i = 1; i <= 45; i++) {
var radios = document.getElementsByName("group" + i);
for(var j = 0; j < radios.length; j++) {
var radio = radios[j];
if(radio.value === "correct" && radio.checked) {
amountCorrect++;
}
}
}
var amountCorrect=0;
对于(var i=1;i这应该是使其与警报框一起工作所需的代码:
函数handleClick()
{
var amountCorrect=0;
对于(var i=1;i这应该是使其与警报框一起工作所需的代码:
函数handleClick()
{
var amountCorrect=0;
对于(var i=1;i什么是parseInt(…,45)
应该做什么?你在以45为基数进行计算,但我不明白你为什么要这样做。如果你使用JQuery,@pimvdb-我猜OP认为基数参数与问题数量有关。@pimvdb它认为这是来自上面链接的问题总数。什么是p阿尔塞因(…,45)
该怎么办?你在以45为基数进行计算,但我不明白你为什么要这样做。如果你使用JQuery,@pimvdb-我猜OP认为基数参数与问题数量有关。@pimvdb它认为这是来自上面链接的问题总数。所以我就这样做了将此脚本保存一次?然后在用户选择提交时调用它?或者我是否有45个脚本?只要您保持当前代码的约定(例如,45个单独的单选按钮组,组中的一个单选按钮的值为correct),这将处理所有单选按钮。我为单选按钮设置了单独的组,并指定了所有值。当选择“提交”按钮时,我如何调用脚本?我认为我的“提交”按钮和表单声明会双重调用脚本。我基本上希望有一个单独的页面加载,其中包含用户选择的正确选项,或者弹出一个警报框?我如何给用户反馈他们的答案?那么我是否只拥有此脚本一次?然后在用户选择提交时调用它?或者我是否拥有45个脚本?只要您保持当前代码的约定(例如,45个单独的单选按钮组和组中一个单选按钮的正确值),这将处理所有单选按钮。我为单选按钮设置了单独的组,并指定了所有值。当选择“提交”按钮时,我如何调用脚本?我认为我的“提交”按钮和表单声明会双重调用脚本。我基本上希望有一个单独的页面加载,其中包含用户选择的正确选项,或者弹出一个警报框?我如何给用户反馈他们的答案?我不确定为什么====
在这里不起作用。在这种情况下,==
做了什么类型的转换?这应该回答你的问题。在上面的情况下,一个是字符串类型,另一个显然不是,因此最好使用==而不是===类型,因为除非你将radio.values的值是.value
不是字符串?如果是,转换为字符串correct
的值是什么?我认为在这种情况下,它是作为数组中的对象而不是字符串返回的。要使代码正常工作,首先必须将.getElementsByClassName更改为.getElementsByName并更改radio.value==“正确”到radio.value.toString()=“正确”"。我不确定为什么====
在这里不起作用。在这种情况下,使用==
进行什么类型的转换?这应该回答您的问题。在上面的情况下,一种类型是字符串,另一种类型显然不是,因此最好使用==而不是===,因为除非您转换radio.valueIsvalue的值,否则这将始终失败代码>不是字符串?如果是,转换为字符串的值是什么?我认为在这种情况下,它是作为数组中的对象而不是字符串返回的。要使代码正常工作,首先必须将.getElementsByClassName更改为.getElementsByName,并将radio.value==“correct”更改为radio.value.toString()“正确”。