Внешний файл JS не запускается - PullRequest
0 голосов
/ 22 февраля 2019

У меня проблемы с запуском моего внешнего файла JS, когда я запускаю его с событием onclick.

Файл JS находится в том же каталоге, что и файл html.

Вот HTML:

<head>
  <script src='request.js'></script>
</head>

<h1>Requests</h1>

<table>
  <thead>
    <tr>
      <th>Artist</th>
      <th>Title</th>
      <th>Votecount</th>
      <th>Vote for Song</th>
      <th colspan="3"></th>
    </tr>
  </thead>

  <tbody>
    <% @requests.each do |request| %>
      <tr>
        <td><%= request.artist %></td>
        <td><%= request.title %></td>
        <td class="voteCount"><%= request.voteCount %></td>
        <td><button onclick="upVote()">Vote</button></td>
      </tr>
    <% end %>
  </tbody>
</table>

Вот что в моем файле JS:

function upVote() {
        alert("firing trigger");
        var count = document.getElementsByClassName("voteCount")[0].innerHTML;
        count = parseInt(count);
        count = count + 1;
        count = count.toString();
        document.getElementsByClassName("voteCount")[0].innerHTML = count;
  }

Вот мой список каталогов: Directories

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

В Rails есть папка активов, в которой нужно хранить внешние файлы JS.

app/assets/javascripts
0 голосов
/ 22 февраля 2019

Это происходит потому, что код выполняется до генерации DOM.Попробуйте переместить <script src='request.js'></script> в конец <body>

<body>

<h1>Requests</h1>

<table>
  ...
  ...
</table>
<script src='request.js'></script>
</body>
...