html/js 中的投票计数器

问题描述 投票:0回答:1

我对编程相当陌生,一直在学习 HTML、CSS 和 Javascript。我正在开发一个涉及即将到来的选举的项目,其中用户按下按钮(在 html 中使用

<form>
)来投票给候选人。我遇到的问题是转发结果。使用 javascript 或 html,我如何能够跟踪每个按钮被按下的次数,并稍后在网页中转发信息,显示每个候选人的票数和总票数。

编辑我把代码搞乱了一点,这是我当前的javascript文件,我设置程序来告诉你你在alert()消息中投票给了谁,但候选人的名字没有显示正确地起来...

<!DOCTYPE html>
<html>     
<head>         
<meta charset="utf-8" >         
<title>Election</title>
</head>
<body>   
<center>
<h1>2016 Presidential Election</h1>
<h2>Vote Here</h2>
<form>
<button type="button" onclick="clicksubmit()">Click to vote for Trump</button>
<button type="button" onclick="clicksubmit()">Click to vote for Hillary</button>
</form>
<h3>Results:</h3>
</center>
<script src="election.js" type="text/javascript"></script>
</body> 
</html>

JS:

function clicksubmit(){

    var votehillary = document.getElementById('hillary'); 
    alert("You voted for "+ votehillary);
    var votetrump = document.getElementById('trump'); 
    alert("You voted for "+ votetrump);

}
javascript html forms button
1个回答
0
投票

要计算按钮点击次数,您可以为每个候选者声明一个变量,并在每次点击时递增它们。为此,您需要更改按钮元素和结果标题:

<h3 id="results">
  total: 0
  trump: 0
  hillary: 0
</h3>
<button type="button" id="trump-button">Click to vote for Trump</button>
<button type="button" id="hillary-button">Click to vote for Hillary</button>

在你的election.js文件中,你可以获取每个按钮并向它们应用onClick事件,增加页面加载时声明的变量:

var trump = 0;
var hillary = 0;

function refreshResults () {
  var results = document.getElementById('results');
  results.innerHTML = 'total: ' + (trump + hillary);
  results.innerHTML += '<br />trump: ' + trump;
  results.innerHTML += '<br />hillary: ' + hillary;
}

document.getElementById('trump-button').addEventListener('click', function () {
  trump++;
  refreshResults();
});

document.getElementById('hillary-button').addEventListener('click', function () {
  hillary++;
  refreshResults();
});
© www.soinside.com 2019 - 2024. All rights reserved.