当我用onclick事件触发它时,我的外部JS文件无法启动。
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;
}
答案 0 :(得分:0)
在Rails中,有一个资产文件夹,需要在其中存储外部JS文件。
app/assets/javascripts
答案 1 :(得分:-1)
发生这种情况是因为在生成DOM
之前执行了代码。尝试将<script src='request.js'></script>
移动到<body>
的末尾
<body>
<h1>Requests</h1>
<table>
...
...
</table>
<script src='request.js'></script>
</body>