为什么会出现参考错误:即使在Javascript中定义了next,也未定义'next()'?

时间:2019-07-17 09:16:22

标签: javascript jquery django ajax python-3.x

我有一个名为next()的javascript函数,用于处理信息。另外,我从HTML调用函数。但是,我的firefox控制台返回ReferenceError:未定义“ next”。我知道我做错了事,但是我不知道那是什么。

我也在考虑如何更好地编写代码的建议。我很乐意采纳您的想法。

为了澄清起见,我还希望按钮对Django后端进行ajax调用并更改屏幕上的文本。

我尝试将表单操作设置为javascript: next(),但也无济于事。

<form>
  <input class='btn btn-primary ml-auto' onclick="next()" id="next_button" type="button" role='button' value='Next'>
</form>
count = '{{ question.id }}';

function next() {
  count++;
  $.ajax({
    url: '{% url "next_question" %}',
    type: 'GET',
    dataType: 'json',
    data: {
      'question_id': count
    },
    success: function(data) {
      document.getElementbyId('question').innerText = data.fields.question;
      console.log(count);
    }
    error: function() {
      $('#next_button').disabled = true;
      alert("Either that's the last question or an error occured!");
    }
  });
};

if (confirm('Are you ready to start the test?')) {
  timer(10);
} else {
  window.location = '{% url "Home" %}'
};

我希望某些文本会更改或至少不会出现错误:

  

ReferenceError:未定义next()。

1 个答案:

答案 0 :(得分:0)

首先,欢迎。

我将向您展示所有代码的最佳解决方案,好吗?

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <form>
        <input class='btn btn-primary ml-auto' id="next_button" type="button" role='button' value='Next'>
    </form>

    <script type="text/javascript">
        $( document ).ready(function() {
            $('#next_button').on('click', function(){
                console.log('Whatever you want');
            });
        });
    </script>

</body>
</html>

该代码在Mozilla上对我有效。.

最好的问候。