无法获取Javascript中显示的总小时数

无法获取Javascript中显示的总小时数,javascript,local-storage,Javascript,Local Storage,我需要为我的javascript类创建一个注册页面。通过使用本地存储,该程序需要允许学生注册4门课程,每门课程总共3学时。当你点击显示器时,你会看到注册的课程和总学时。因此,如果一个学生注册了所有4门课,总学时应该是12小时。如果一个学生注册了3个班,那么总数应该是9,以此类推。如果一个学生放弃了一个班,那么结果应该是空的。显示课程,但总学时设置为0。我怎样才能解决这个问题?以下是我所拥有的: <!doctype html> <html> <head> <

我需要为我的javascript类创建一个注册页面。通过使用本地存储,该程序需要允许学生注册4门课程,每门课程总共3学时。当你点击显示器时,你会看到注册的课程和总学时。因此,如果一个学生注册了所有4门课,总学时应该是12小时。如果一个学生注册了3个班,那么总数应该是9,以此类推。如果一个学生放弃了一个班,那么结果应该是空的。显示课程,但总学时设置为0。我怎样才能解决这个问题?以下是我所拥有的:

<!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>


&nbsp;
    <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>
&nbsp;  
    <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>

    &nbsp; 
    <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>
    &nbsp;
    <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。