Как я могу увеличить переменную в ejs.file - PullRequest
0 голосов
/ 12 апреля 2019

Я создаю тест, в котором пользователь получит доступ к одному вопросу за раз.После нажатия кнопки «Отправить» он добавляет +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 голосов
/ 17 апреля 2019

Вы не можете сделать это. После загрузки страницы ejs преобразуется в обычный html. Вам нужно использовать JavaScript для такого рода вещей. это как эхо в PHP вы можете прочитать об идее. вам нужно будет создать переменную в java-скрипте и поместить ее в div и заголовки в html

...