Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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 - Fatal编程技术网

JavaScript单选按钮分数计数器

JavaScript单选按钮分数计数器,javascript,Javascript,我正在尝试使用HTML和JS创建基本的问题游戏。 有一个问题有三个可能的答案。如果用户选择正确答案,他会得到一分,并得到一个提示,说明答案是正确的。如果用户选择了不正确的答案,他会收到一个警告,提示答案不正确。 我设法根据所选内容正确获取警报。但我无法使计数器增加(它始终保持为0)。我不知道哪里会有问题,所以我在这里寻求帮助 var-rez=ivertinimas(); var suTaskai=“Rezultatas:”+rez; document.getElementById(“rezul

我正在尝试使用HTML和JS创建基本的问题游戏。 有一个问题有三个可能的答案。如果用户选择正确答案,他会得到一分,并得到一个提示,说明答案是正确的。如果用户选择了不正确的答案,他会收到一个警告,提示答案不正确。 我设法根据所选内容正确获取警报。但我无法使计数器增加(它始终保持为0)。我不知道哪里会有问题,所以我在这里寻求帮助

var-rez=ivertinimas();
var suTaskai=“Rezultatas:”+rez;
document.getElementById(“rezultatas”).innerHTML=suTaskai;
功能性伊弗替尼瘤(){
var-taskai=0;
var radios=document.getElementsByName(“kalnas”);
对于(变量i=0;i

克劳西姆·艾迪马斯
乌ž基克维因·泰辛·阿特萨基姆·多达马斯·塔什卡斯。
科克斯·伊拉·安特拉斯·帕加尔·奥克什特·卡纳斯·帕萨里耶?
埃弗雷斯塔斯
K2
利普卡尼斯

var taskai必须是全局的

    var rez = ivertinimas(); 
var suTaskai = "Rezultatas: " + rez;
var taskai
document.getElementById("rezultatas").innerHTML = suTaskai;
function ivertinimas() {
var radios = document.getElementsByName("kalnas");
for (var i = 0; i < radios.length; i++) {
    if (radios[i].checked) {
    var ats = radios[i].value;
        if (ats === "k2") {
        alert("Atsakymas teisingas!");
        taskai++;
        }
        else {
            alert("Atsakymas neteisingas. Teisingas atsakymas yra K2.")
        }
    break;
    }
}
    return taskai;
}
var-rez=ivertinimas();
var suTaskai=“Rezultatas:”+rez;
塔斯凯酒店
document.getElementById(“rezultatas”).innerHTML=suTaskai;
功能性伊弗替尼瘤(){
var radios=document.getElementsByName(“kalnas”);
对于(变量i=0;i
您应该定义
var taskai=0在函数外部,您正在调用。
但是请注意,定义全局变量并不总是一个好主意

有关更多信息,请参见:

这里是一个工作示例(必须删除表单,以便我可以显示计数器上升)

var taskai=0;
var rez=伊夫汀瘤();
var suTaskai=“Rezultatas:”+rez;
document.getElementById(“rezultatas”).innerHTML=suTaskai;
功能性伊弗替尼瘤(){
var radios=document.getElementsByName(“kalnas”);
对于(变量i=0;i

克劳西姆·艾迪马斯
乌ž基克维因·泰辛·阿特萨基姆·多达马斯·塔什卡斯。
科克斯·伊拉·安特拉斯·帕加尔·奥克什特·卡纳斯·帕萨里耶?
埃弗雷斯塔斯
K2
利普卡尼斯

计数器必须是全局计数器,且onsubmit不应触发函数的执行

让taskai=0;
功能更新(计数器){
var suTaskai=“Rezultatas:”+计数器;
document.getElementById(“rezultatas”).innerHTML=suTaskai;
}
功能性伊弗替尼瘤(){
var radios=document.getElementsByName(“kalnas”);
对于(变量i=0;i

克劳西姆·艾迪马斯
乌ž基克维因·泰辛·阿特萨基姆·多达马斯·塔什卡斯。
科克斯·伊拉·安特拉斯·帕加尔·奥克什特·卡纳斯·帕萨里耶?
埃弗雷斯塔斯
K2
利普卡尼斯

这是解决您问题的一个快速而糟糕的解决方案

var rez=0
var suTaskai='Rezultatas:';
document.getElementById(“rezultatas”).innerHTML=suTaskai;
document.getElementById(“结果”).innerHTML=rez;
var button=document.getElementById(“按钮”);
button.onclick=函数ivertinimas(){
var taskai=+document.getElementById(“结果”).innerHTML;
var radios=document.getElementsByName(“kalnas”);
对于(变量i=0;i

克劳西姆·艾迪马斯
乌ž基克维因·泰辛·阿特萨基姆·多达马斯·塔什卡斯。
科克斯·伊拉·安特拉斯·帕加尔·奥克什特·卡纳斯·帕萨里耶?
埃弗雷斯塔斯
K2
利普卡尼斯
Pateikti atsakymą
在表单提交功能之外定义计数器,这会导致页面消失。我认为您不应该使用此表单。您只需使用客户端javascript更新该值。“taskai=0;”应该在ivertinimas()函数块之外。否则每次taskai从零开始并失去上一个计数器。可能要归功于在你之前几分钟发表评论的人?