如何在ejs.file中增加变量

时间:2019-04-12 14:05:39

标签: javascript variables ejs increment

我正在创建一个测验,用户可以一次访问一个问题。单击提交后,它将+1添加到计数器,并前进到数组中的下一个问题。 我所有的问题都存储在MongoDB的数据库中。

我尝试过的事情:

<% var pos = 0 %>

  <section class="nivelamento" id="nivelamento">
      <div class="container">

          <h2 id='teste_status' class="nivelamento-titulo">Math Questions!</h2>
          <h6>Question <%= (pos + 1) %> of <%= quizzes.length %> </h6>
          <div id="teste">

              <form action="/nivelamento" method="POST">
                  <h2><%= quizzes[pos].question %></h2>
                  <input type="radio" name='options' value="A"><%= quizzes[pos].firstOption %><br>
                  <input type="radio" name='options' value="B"><%= quizzes[pos].secondOption %><br>
                  <input type="radio" name='options' value="C"><%= quizzes[pos].thirdOption %><br><br>
                  <button type="submit" class="btn btn-danger btn-sm">Submit Answer</button>
              </form>

                  <% if(opcaoEscolhida === quizzes[pos].rightAnswer){ %>
                      <% correct++ %>                
                  <% }  %>

                  <% pos++ %>

          </div>    
      </div>
  </section>

单击提交后,所有内容保持不变,数组的位置号不变。

到目前为止,对于其余部分,一切似乎都可以正常工作,因为手动更改计数器可以达到预期的效果。

1 个答案:

答案 0 :(得分:0)

你做不到。页面加载ejs后,将其转换为常规html。您需要将javascript用于此类操作。就像在php中的echo一样,您可以阅读有关该想法的信息。您将需要在Java脚本中创建一个变量,并将其放在html中的div和标题中