无法获取Javascript中显示的总小时数
我需要为我的javascript类创建一个注册页面。通过使用本地存储,该程序需要允许学生注册4门课程,每门课程总共3学时。当你点击显示器时,你会看到注册的课程和总学时。因此,如果一个学生注册了所有4门课,总学时应该是12小时。如果一个学生注册了3个班,那么总数应该是9,以此类推。如果一个学生放弃了一个班,那么结果应该是空的。显示课程,但总学时设置为0。我怎样才能解决这个问题?以下是我所拥有的:无法获取Javascript中显示的总小时数,javascript,local-storage,Javascript,Local Storage,我需要为我的javascript类创建一个注册页面。通过使用本地存储,该程序需要允许学生注册4门课程,每门课程总共3学时。当你点击显示器时,你会看到注册的课程和总学时。因此,如果一个学生注册了所有4门课,总学时应该是12小时。如果一个学生注册了3个班,那么总数应该是9,以此类推。如果一个学生放弃了一个班,那么结果应该是空的。显示课程,但总学时设置为0。我怎样才能解决这个问题?以下是我所拥有的: <!doctype html> <html> <head> <
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Class Registration</title>
<style>
body {
background-color:lightblue;
}
</style>
<script>
function storeTask(task) {
var taskDetail = document.getElementById(task).value;
localStorage.setItem(task, taskDetail);
}
function getTask(task) {
document.getElementById(task).value = localStorage.getItem(task);
}
function clearTask(task) {
localStorage.removeItem(task);
document.getElementById(task).value="";
}
function displayTasks() {
var intTotal =0;
if (localStorage.getItem('Class1') != null) {
}
outputResults = document.getElementById("Results");
outputResults.innerHTML =
'Class 1: ' + localStorage.getItem('class1') + '<br />' +
'Class 2: ' + localStorage.getItem('class2') + '<br />' +
'Class 3: ' + localStorage.getItem('class3') + '<br />' +
'Class 4: ' + localStorage.getItem('class4') + '<br />' +
'<br />' +
'Total Class Hours: ' + intTotal +
'';
}
</script>
</head>
<body>
<table width="100%">
<tr>
<td valign="top">
<div id="outer">
<h1>Local Storage</h1>
My Upcoming Classes
<br><br>
Class 1:
<select id="class1">
<option value="">Please Select a Class</option>
<option value="IT Management">IT Management</option>
<option value="Multimedia Technology">Multimedia Technology</option>
<option value="Multimedia Authoritizing">Multimedia Authoritizing</option>
<option value="Web Site Development">Web Site Development</option>
<input type="button" value="Register"
onclick="storeTask('class1');">
<input type="button" value="Drop"
onclick="clearTask('class1');">
<br><br>
Class 2:
<select id="class2">
<option value="">Please Select a Class</option>
<option value="IT Management">IT Management</option>
<option value="Multimedia Technology">Multimedia Technology</option>
<option value="Multimedia Authoritizing">Multimedia Authoritizing</option>
<option value="Web Site Development">Web Site Development</option>
<input type="button" value="Register"
onclick="storeTask('class2');">
<input type="button" value="Drop"
onclick="clearTask('class2');">
<br><br>
Class 3:
<select id="class3">
<option value="">Please Select a Class</option>
<option value="IT Management">IT Management</option>
<option value="Multimedia Technology">Multimedia Technology</option>
<option value="Multimedia Authoritizing">Multimedia Authoritizing</option>
<option value="Web Site Development">Web Site Development</option>
<input type="button" value="Register"
onclick="storeTask('class3');">
<input type="button" value="Drop"
onclick="clearTask('class3');">
<br><br>
Class 4:
<select id="class4">
<option value="">Please Select a Class</option>
<option value="IT Management">IT Management</option>
<option value="Multimedia Technology">Multimedia Technology</option>
<option value="Multimedia Authoritizing">Multimedia Authoritizing</option>
<option value="Web Site Development">Web Site Development</option>
<input type="button" value="Register"
onclick="storeTask('class4');">
<input type="button" value="Drop"
onclick="clearTask('class4');">
</div>
</td>
<td valign="top">
Output Results
<br>
<input type="button" value="Display Tasks"
onclick="displayTasks();">
<div id="Results"></div>
</td>
</tr>
</table>
</body>
</html>
您可以有一个全局变量,每次存储一个项时,该变量递增3。然后在需要的代码的其他部分使用该变量。我想如果这真的是家庭作业的话,这应该会让你在不完全交给你的情况下解决这个问题。你似乎很接近。每次调用displayTasks时,都会将intTotal重置为0,但每次存储其中一个项目时,都不会将其递增3。与@carlosHT提到的类似,您将希望将该总数存储在可访问的位置,并在每次存储项目时访问它以增加该总数。如果可能的话,我会避免使用全局变量。希望这不会泄露太多信息。这看起来像是一个家庭作业。我没看到你在dislayTasks中改变过intTotal。