2016-07-22 8 views
2

私のプロジェクトにSymfony3を使用していますが、ReferenceError:optionOneChangeが定義されていませんエラー。ここでJavaScript関数がsymfony3のtwigファイルでエラーを定義していません

は私のHTML小枝ファイルです:あなたの助けを

function optionOneChange(option) 
{ 
    if (option == 1) 
     $(document).getElementById("question").innerHTML = "one"; 
    else if (option == 2) 
     $(document).getElementById("question").innerHTML = "two"; 
    else if (option == 3) 
     $(document).getElementById("question").innerHTML = "three"; 
    else if (option == 4) 
     $(document).getElementById("question").innerHTML = "four"; 
} 

ありがとう:

{% extends 'base.html.twig' %} 

{% block body %} 

    <p id="question">{{ questions[0].desc }}</p> 
    <form id="form"> 
     <input type="radio" id="option1" onclick="optionOneChange(1)"> {{ questions[0].ans1}}<br> 
     <input type="radio" id="option2" onclick="optionOneChange(2)"> {{ questions[0].ans2}}<br> 
     <input type="radio" id="option3" onclick="optionOneChange(3)"> {{ questions[0].ans3}}<br> 
     <input type="radio" id="option4" onclick="optionOneChange(4)"> {{ questions[0].ans4}}<br> 
    </form> 

{% endblock %} 

{% block javascripts %} 

    <script src=" {{ asset('js/playGame.js') }}"></script> 

{% endblock %} 

、ここではplayGame.jsファイルです。

+0

ファイル 'playGame.js'がロードされているかどうかを開発ツールにチェックインしてください。 – cezar

+0

私はそれをチェックしてロードされています。私はアセットを使用せずにスクリプトタグにスクリプトを直接配置しました。結果も同じです。 –

+0

あなたのセレクタ '$(document)'は妙に見えますが、それは確かにReferenceErrorをひっくり返しません。私はまだそれを 'document.getElementById()'に変更します。 – cezar

答えて

0

私はあなたがそうのようなあなたのjsの関数に渡されるパラメータの周りに単一引用符を配置する必要があると思う:

<form id="form"> 
    <input type="radio" id="option1" onclick="optionOneChange('1')"> {{ questions[0].ans1}}<br> 
    <input type="radio" id="option2" onclick="optionOneChange('2')"> {{ questions[0].ans2}}<br> 
    <input type="radio" id="option3" onclick="optionOneChange('3')"> {{ questions[0].ans3}}<br> 
    <input type="radio" id="option4" onclick="optionOneChange('4')"> {{ questions[0].ans4}}<br> 
</form> 

また、あなたはあなたのコードからカット&ペーストを投稿しているのですか?もしそうなら、私はここでの問題を参照してください。

<script src=" {{ asset('js/playGame.js') }}"></script> 

前に余分なスペースがありますが、その代わりにこれを試してみてください。

<script src="{{ asset('js/playGame.js') }}"></script> 

ことができますかない、しかし、あなたがチェックすることができるかどうかわかりません。

関連する問題