javascript Symfony 3 twig 文件中的函数未定义错误
javascript function not defines error in Symfony3 twig file
我正在为我的项目使用 Symfony3,但我正面临 ReferenceError: optionOneChange is not defined 错误。
这是我的 HTML Twig 文件:
{% 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 文件:
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";
}
感谢您的帮助。
我认为您需要在传递给您的 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>
前面多了一个space,试试这个:
<script src="{{ asset('js/playGame.js') }}"></script>
不确定这是否有帮助,但您可以检查一下。
我正在为我的项目使用 Symfony3,但我正面临 ReferenceError: optionOneChange is not defined 错误。
这是我的 HTML Twig 文件:
{% 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 文件:
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";
}
感谢您的帮助。
我认为您需要在传递给您的 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>
前面多了一个space,试试这个:
<script src="{{ asset('js/playGame.js') }}"></script>
不确定这是否有帮助,但您可以检查一下。