2017-10-11 15 views
-1

私は学校プロジェクトのために取り組んでいるフォームを持っており、JavaScript checkAnswer関数の何が問題なのかわかりません。フォームとすべてのボタンは機能しますが、送信ボタンを押すと、すべての読み込みが空白のページになります。私はフォームを調査しようとしましたが、私のコードがどこで間違っているのか分かりません。なぜ何もチェックしないのですか?ここでフォームJavaScript関数checkAnswer not loaded pages

は私のindex.htmlファイルからフォームです:

<script src="CheckForm.js"></script> 

<form method="post" action="return checkAnswer(this, '1', 'Correct.html', 
'Incorrect.html');" name="quizForm" id="quizForm"> 

     <input type="radio" name="choice" value="1"/> 
      <script>getMusician(answer1);</script><br/> 

     <input type="radio" name="choice" value="2"/> 
      <script>getMusician(answer2);</script><br/> 

     <input type="radio" name="choice" value="3"/> 
      <script>getMusician(answer3);</script><br/> 

     <input type="radio" name="choice" value="4"/> 
      <script>getMusician(answer4);</script><br/> 

     <input type="submit" value="Submit"/> 
     </form> 

これは私のCheckForm.jsファイルからコードです:あなたは、このためのフォームを必要はありません

function checkAnswer(quizForm, Answer, CorrectPage, IncorrectPage) 
{ 
    var i = 0; 
    var j = null; 

    for(;i<quizForm.elements.length();i++) 
    { 
    if(quizForm.elements[i].value.checked) 
     j = quizForm.elements[i].value; 
    } 

    if(j === null) 
    { 
    windows.alert("Please make a selection."); 
    return false; 
    } 

    if(j == Answer) 
    { 
    document.location.href = CorrectPage; 
    } 
    else 
    { 
    document.location.href = IncorrectPage; 
    } 
    return false; 
} 
+2

それはだ 'checkAnswer()' 'ないCheckAnswer()' – Lixus

+0

ためのフォーム内のすべてのものを 'script'タグとは何ですか? – tommyO

+0

これは、すべての回答をランダムに保持する別の関数です。 – EWB

答えて

0

。静的なサイトを作成しているので、フォームを削除して、残りの部分はかなり近づいているように見えます。ここにあなたのための実例があります。

また、あなたは何らかのクイズサイトを作成しているようです。ユーザーが開発者用コンソールを使用して正しい答え(checkAnswer()メソッドへの最初の入力)を表示できることに気をつけてください - それについて言及する価値はあると思いました。

function checkAnswer(answer, correctPage, incorrectPage) { 
 
    var i = 0; 
 
    var j = null; 
 
    var inputs = document.getElementsByClassName('musician'); 
 
    for (var i = 0; i < inputs.length; i++) { 
 
    if (inputs[i].checked) 
 
     j = inputs[i].value; 
 
    } 
 

 
    if (j == null) { 
 
    alert("Please make a selection."); 
 
    return false; 
 
    } 
 

 
    if (j == answer) { 
 
    console.log('CORRECT!') 
 
    document.location.href = CorrectPage; 
 
    } else { 
 
    console.log('incorrect :(') 
 
    document.location.href = IncorrectPage; 
 
    } 
 
}
<div id="inputContainer"> 
 
    <input type="radio" name="choice" class="musician" value="1" />musician 1 
 
    <br/> 
 

 
    <input type="radio" name="choice" class="musician" value="2" />musician 2 
 
    <br/> 
 

 
    <input type="radio" name="choice" class="musician" value="3" />musician 3 
 
    <br/> 
 

 
    <input type="radio" name="choice" class="musician" value="4">musician 4 
 
    <br/> 
 
</div> 
 
<input type="button" onclick="checkAnswer('1', 'Correct.html', 
 
'Incorrect.html')" value="Submit" />