2017-02-12 73 views
2

我想从三个按钮单选按钮测验中返回得分输出。当我使用警报时,我有输出工作,但由于测验包含在模式中我不想要弹出窗口我只是想在模式内显示输出,使其看起来更干净我使用InnerHTML但是当我单击我现在没有输出按钮。我一直在尝试使用JQuery来尝试显示结果并隐藏按钮,但这也没有帮助。有谁知道我可以如何将结果打印到“结果”?Javascript innerHtml测验结果

感谢

<script> 
 
      
 
var answers = ["A","B","B"], 
 
    tot = answers.length; 
 

 
function getCheckedValue(radioName){ 
 
    var radios = document.getElementsByName(radioName); // Get radio group by-name 
 
    for(var y=0; y<radios.length; y++) 
 
     if(radios[y].checked) return radios[y].value; // return the checked value 
 
} 
 

 
function getScore(){ 
 
    var score = 0; 
 
    for (var i=0; i<tot; i++) 
 
    if(getCheckedValue("question"+i)===answers[i]) score += 1; // increment only 
 
    return score; 
 
} 
 

 
function returnScore(){ 
 
    print("Your score is "+ getScore() +"/"+ tot); 
 
} 
 
</script> 
 

 
var answers = ["A","B","B"], 
 
    tot = answers.length; 
 

 
function getCheckedValue(radioName){ 
 
    var radios = document.getElementsByName(radioName); // Get radio group by-name 
 
    for(var y=0; y<radios.length; y++) 
 
     if(radios[y].checked) return radios[y].value; // return the checked value 
 
} 
 

 
function getScore(){ 
 
    var score = 0; 
 
    for (var i=0; i<tot; i++) 
 
    if(getCheckedValue("question"+i)===answers[i]) score += 1; // increment only 
 
    return score; 
 
} 
 

 
function returnScore(){ 
 
    document.getElementById("results").innerHtml ("Well done! You scored "+ getScore() +"/"+ tot); 
 
    
 
} 
 
</script> 
 
    
 
      
   <p> You are only charged interest on the amount that is remaining at the end of the month<br> 
 
       <input type="radio" name="question0" value="A"> True </radio> 
 
       <input type="radio" name="question0" value="B"> False </radio> <br><hr> 
 
       </p> 
 
       
 
       <p>I have to pay off the balance in full every month <br><p> 
 
       <input type="radio" name="question1" value="A"> True </radio> 
 
       <input type="radio" name="question1" value="B"> False </radio> <br> <hr> 
 
       
 
       
 
       <p>If I don't make a payment my credit score will be unaffected <br></p> 
 
       <input type="radio" name="question2" value="A"> True </radio> 
 
       <input type="radio" name="question2" value="B"> False </radio> 
 
    
 

 
       <br><br> 
 
       
 
       <button type="button" class="btn btn-primary btn-xl page-scroll" onclick = "returnScore()">Results</button> 
 

 
<h4 id="results"> </h4> 
 
      

回答

2

问题是document.getElementById("results").innerHtml ("Well done! You scored "+ getScore() +"/"+ tot); innerHTML的不是一个函数,你必须赋值为IN。

应该document.getElementById("results").innerHTML = "Well done! You scored "+ getScore() +"/"+ tot;

+0

是不是提出任何问题,但它已停止尝试打印该页面。 –

+0

演示:https://jsfiddle.net/m563ev87/,确保没有错别字,它的'innerHTML'不是'innerHtml',注意大写HTML –

+0

令人惊叹的谢谢! –