2017-02-12 4 views
2

Ich möchte die Ausgabe der Punktzahl von einem drei-Tasten-Radio-Taste Quiz zurückgeben. Ich habe die Ausgabe funktioniert, wenn ich Alert verwende, aber da das Quiz in einem Modal enthalten ist Ich will kein Popup Ich möchte nur die Ausgabe als innerhalb der Modalität anzeigen, um es sauberer aussehen zu lassen Ich benutze InnerHTML jedoch, wenn ich klicke Mit dem Button bekomme ich jetzt keine Ausgabe. Ich habe mit der Verwendung von JQuery experimentiert, um zu versuchen, die Ergebnisse anzuzeigen und die Schaltfläche auszublenden, aber das hilft auch nicht. Weiß jemand, wie ich die Ergebnisse auf "Ergebnisse" drucken lassen kann?Javascript innerHtml Quiz Ergebnisse

Dank

<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> 
 
      

Antwort

2

Problem ist mit document.getElementById("results").innerHtml ("Well done! You scored "+ getScore() +"/"+ tot); innerHTML- keine Funktion ist, müssen Sie Wert in zuweisen.

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

+0

werden sollte, ist nicht es hat immer noch aufgehört zu versuchen, die Seite zu drucken. –

+0

Demo: https://jsfiddle.net/m563ev87/, stellen Sie sicher, es gibt keine Tippfehler, seine 'innerHTML' nicht' innerHtml', beachten Sie die Hauptstadt HTML –

+0

Erstaunlich danke! –