2016-12-21 11 views
1

У меня проблема с приложением викторины. Я новичок, и моя проблема в том, что я не знаю, как передать значение по умолчанию для радиоприемника типа ввода из массива JS. Поэтому, когда вы загружаете страницы, вы уже можете видеть значения параметров [0] в качестве параметров.JavaScript-массив для передачи значения по умолчанию для HTML-радио

HTML код:

<p> 
<p id="question"></p> 
</p> 
    <input type="radio" name="quiz" id="ans1" > 
    <br> 
    <input type="radio" name="quiz" id="ans2"> 
    <br> 
    <input type="radio" name="quiz" id="ans3"> 
    <br> 
    <input type="radio" name="quiz" id="ans4"> 
    <br> 
<input type="submit" value="Start" onClick="RadioCheck()"> 
</form> 

JS код:

<script language="javascript"> 

var allQuestions = [{ 
    question: "Question1?", 
    choices: ["Answer1", "Answer2", "Answer3", "Answer4"], 
    CorrectAnswer:0}, 
    { 
    question: "Question2?", 
    choices: ["Answer1", "Answer2", "Answer3", "Answer4"], 
    CorrectAnswer:0}, 
    { 
    question: "Question3?", 
    choices: ["Answer1", "Answer2", "Answer3", "Answer4"], 
    CorrectAnswer:0}, 
    { 
    question: "Question4?", 
    choices: ["Answer1", "Answer2", "Answer3", "Answer4"], 
    CorrectAnswer:0} 
    ]; 

var currentQuestion=0; 
var CorrectAnswer=0; 


function RadioCheck() { 
//populate question in HTML 
    var question = document.getElementById("question"); 
    question.nextSibling.data = allQuestions[currentQuestion].question; 

//populate answers in HTML 
    var ans1 = document.getElementById("ans1"); 
    ans1.nextSibling.data = allQuestions[currentQuestion].choices[0]; 

    var ans2 = document.getElementById("ans2"); 
    ans2.nextSibling.data = allQuestions[currentQuestion].choices[1]; 

    var ans3 = document.getElementById("ans3"); 
    ans3.nextSibling.data = allQuestions[currentQuestion].choices[2]; 

    var ans4 = document.getElementById("ans4"); 
    ans4.nextSibling.data = allQuestions[currentQuestion].choices[3]; 

    var selection = document.getElementsByTagName('input') 

    if(selection[allQuestions[currentQuestion].CorrectAnswer].checked == true){ 
     CorrectAnswer ++; 
    } 

    currentQuestion ++; 
} 

</script> 

Это работает, когда я нажмите кнопку Пуск 1-й раз, но я хочу показать Question1 и ответы, как только во время загрузки страниц.

ответ

0

Вам нужно добавить функцию к событию onload.

Например, в вашем объявлении тела вы можете добавить следующую

<body onload="RadioCheck()"> 

Когда страница загружает функцию RadioCheck будет выполняться заполнение формы.

Дополнительную информацию о мероприятии, которое можно получить здесь: http://www.w3schools.com/jsref/event_onload.asp