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>

不确定这是否有帮助,但您可以检查一下。