【问题标题】:Why the answers are not displayed when the counter ends为什么计数器结束时不显示答案
【发布时间】:2020-06-27 16:07:25
【问题描述】:

我是 javascript 的新手。我会向你咨询一些事情。当计数器结束时,我尝试让应答按钮起作用,即显示结果。如果您能提供帮助,我将不胜感激。 在回答问题时,如果我们将任何问题留空,我们会认为这是错误的,我想在答案中显示空白值。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>QUIZ</title>
<script type="text/javascript">
function cevapla()
{
 var soruSayisi=3;
 var gelenCevap = new Array();
 var dogruCevap = new Array("C",);
 var dogru=0;
 var yanlis=0;
 var cevap=0;
 var rapor="";
     
 for(i=1; i <= soruSayisi; i++){ 
  var secenekler=document.getElementsByName("s"+i);
  for(j=0; j < secenekler.length; j++){
   if(secenekler[j].checked){               
    if(secenekler[j].value==dogruCevap[i-1]){
     cevap=1;
    }else{
    cevap=0;
    }   
    if(cevap){
     rapor +=i+". Soru için cevabınız: "+secenekler[j].value+", Doğru <br />";
    }else{
     rapor +=i+". Soru için cevabınız: "+secenekler[j].value+", YANLIŞ, Doğru Cevap: "+dogruCevap[i-1]+"<br />";
    }
     gelenCevap.push(secenekler[j].value);
   }
  }
 }  
    
 for(k=0; k < soruSayisi; k++){
  if(gelenCevap[k]==dogruCevap[k]){
   dogru++;
  }else{
   yanlis++;
  }
 }
 rapor +="Sonuç: "+dogru+" Doğru, "+yanlis+" Yanlış"+"<br />";
 document.getElementById('rapor').innerHTML=rapor;
 }
 
 var deger;
var saniye=10;
function saniyeDurdur()
  {
    window.clearInterval(deger);
  }
function saniyeBaslat()

{
    saniye --;
    if(saniye >=0){
        document.getElementById('saniye').innerHTML=saniye;
    }else{
        window.clearInterval(deger);
        document.getElementById('uyari').innerHTML="Süreniz bitti! Sınav Bitmiştir Geçmiş Olsun";
        rapor +="Sonuç: "+dogru+" Doğru, "+yanlis+" Yanlış"+"<br />";
        document.getElementById('rapor').innerHTML=rapor;
        
    }
}
var deger=window.setInterval('saniyeBaslat()',1000);
</script>
</head>
 
<body>
<input type="button" onclick="saniyeDurdur()" value="Durdur" />
<div id="saniye"></div>
<div id="uyari"></div>
<form name="formTest">
<fieldset class="radiogroup">
<legend>Soru 1: Aşağıdakilerden hangisi uygun değişken ismidir?</legend>
 <ul class="radio" style="list-style:none">
  <li>A) <input type="radio" name="s1" value="A" />  <label>case</label>  </li>
  <li>B) <input type="radio" name="s1" value="B" />  <label>try</label></li>
  <li>C) <input type="radio" name="s1" value="C" /><label>tree</label></li>
  <li>D) <input type="radio" name="s1" value="D" /><label>const</label></li>
 </ul>
</fieldset>


<input type="button" value="Cevapla" onclick="cevapla()" />
</form>
<div id="rapor"></div>
</body>
</html>

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    在下面的函数中,变量dogru and yanlis 没有被声明。这就是你的代码被破坏的原因。

    function saniyeBaslat()
        
        {
    
           var dogru=0;
           var yanlis=0;
    
            saniye --;
            if(saniye >=0){
                document.getElementById('saniye').innerHTML=saniye;
            }else{
                window.clearInterval(deger);
                document.getElementById('uyari').innerHTML="Süreniz bitti! Sınav Bitmiştir Geçmiş Olsun";
                rapor +="Sonuç: "+dogru+" Doğru, "+yanlis+" Yanlış"+"<br />";
                document.getElementById('rapor').innerHTML=rapor;
                
            }
        }
    

    【讨论】:

      【解决方案2】:

      如果您在函数中声明一个变量,它不会被初始化,直到函数运行,在您的情况下,直到用户单击 Ceplava 按钮。 一个例子,这个函数会搞砸,因为saniye 在运行时没有声明。由于这个原因,还有其他行将无法正确执行。

      function saniyeBaslat()
      
      {
          saniye --;
          if(saniye >=0){
      

      您需要将变量声明移到函数之外,因此即使函数没有运行,它也会被初始化。

      var soruSayisi=3;
      var gelenCevap = new Array();
      var dogruCevap = new Array("C",);
      var dogru=0;
      var yanlis=0;
      var cevap=0;
      var rapor="";
      
      function cevapla()
      {
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-26
        • 1970-01-01
        • 2018-07-15
        • 1970-01-01
        • 1970-01-01
        • 2023-01-11
        • 2023-02-01
        • 2023-03-15
        相关资源
        最近更新 更多