2017-02-12 3 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 не является функцией, вы должны присвоить значение в.

Это должно быть document.getElementById("results").innerHTML = "Well done! You scored "+ getScore() +"/"+ tot;

+0

Не но все же он остановил попытку распечатать страницу. –

+0

Демонстрация: https://jsfiddle.net/m563ev87/, убедитесь, что нет опечаток, его 'innerHTML' не' innerHtml', обратите внимание на столицу HTML –

+0

Удивительное спасибо! –

Смежные вопросы