2016-07-22 2 views
2

내 프로젝트에 Symfony3을 사용하고 있습니다. ReferenceError : optionOneChange가 정의되지 않았습니다 오류. 여기자바 스크립트 함수가 Symfony3 나뭇 가지 파일에 오류를 정의하지 않았습니다

{% 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 파일 :

은 여기 내 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"; 
} 

감사합니다.

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

이 도움 여부,하지만 당신은 확인할 수 있는지 확실하지.

관련 문제