Hey ihr,
erstmal ein bisschen was zu meinem Projekt:
Mein Projekt ist eine Art Zeit Planer. Es ist eine Tabelle in welche man den Kunden eintragen kann und dann die Stunden und Minuten für verschiedene Arbeitsbereiche hinzufügen. Am ende steht die Summe der Stunden, die man für den Kunden gearbeitet hat.
Man kann neue Zeilen hinzufügen und löschen in der Tabelle.
Für mich ist das Projekt ein kleines Selbststudium zum Thema JavaScript und bis jetzt hat das alles auch super funktioniert. Sieht genau so aus, wie ich es wollte
.
Jetzt zu meinem Problem:
Da ich mich wirklich nicht gut mit Js auskenne, komm ich mit dem Speichern der Tabelle nicht weiter.
Ich hab viel im Internet gesucht und ausprobiert, aber wahrscheinlich mach ich das alles auch komplett falsch.
Ich würde gerne alle Zeilen die existieren mit deren Daten abspeichern können, damit man am nächsten Tag oder so weiter daran arbeiten kann. Ich dachte mir, dass das Speichern mit localStorage vielleicht am besten passt, weil die Seite offline bleiben wird.
Hier der HTML - Code:
Und JS:
Im Js ist jetzt nicht der komplette Code drin, da fehlt noch das berechnen der Summen und das löschen einer Zeile, aber ich dachte, dass ist hierfür vielleicht nicht unbedingt notwendig und wäre auch ziemlich lang geworden.
Ich hab des wahrscheinlich alles ein bisschen umständlicher gemacht, als manch anderer, aber ich bin ganz froh, dass es funktioniert
.
Ich hoffe, dass ihr mir helfen könnt. Falls es mit localStorage nicht funktioniert, dann such ich nach einer anderen Lösung
.
Danke schonmal
Lg Mona
erstmal ein bisschen was zu meinem Projekt:
Mein Projekt ist eine Art Zeit Planer. Es ist eine Tabelle in welche man den Kunden eintragen kann und dann die Stunden und Minuten für verschiedene Arbeitsbereiche hinzufügen. Am ende steht die Summe der Stunden, die man für den Kunden gearbeitet hat.
Man kann neue Zeilen hinzufügen und löschen in der Tabelle.
Für mich ist das Projekt ein kleines Selbststudium zum Thema JavaScript und bis jetzt hat das alles auch super funktioniert. Sieht genau so aus, wie ich es wollte
Jetzt zu meinem Problem:
Da ich mich wirklich nicht gut mit Js auskenne, komm ich mit dem Speichern der Tabelle nicht weiter.
Ich hab viel im Internet gesucht und ausprobiert, aber wahrscheinlich mach ich das alles auch komplett falsch.
Ich würde gerne alle Zeilen die existieren mit deren Daten abspeichern können, damit man am nächsten Tag oder so weiter daran arbeiten kann. Ich dachte mir, dass das Speichern mit localStorage vielleicht am besten passt, weil die Seite offline bleiben wird.
Hier der HTML - Code:
HTML:
<table class="table" id="table">
<tr>
<th>Ordername</th>
<th>Ordernumber</th>
<th>Pitch</th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th>Prodection</th>
<th></th>
<th></th>
</tr>
<tr>
<td style="width:10%"></td>
<td style="width:10%"></td>
<td>Research</td>
<td>Design</td>
<td>Modification</td>
<td>Layouts</td>
<td>Specification</td>
<td>Revision</td>
<td>Communication</td>
<td>Working Drawings</td>
<td>Admin Project Managment</td>
<td>Graphics</td>
<td><input type="button" onclick="showResults()" value="Results"></td>
<td><input type="button" onclick="addRow(this)" value="Add Row"></td>
</tr>
<tr>
<td>Time Sum</td>
<td></td>
<td id="ResResult"></td>
<td id="DeResult"></td>
<td id="MoResult"></td>
<td id="LaResult"></td>
<td id="SpResult"></td>
<td id="RevResult"></td>
<td id="CoResult"></td>
<td id="WoResult"></td>
<td id="AdResult"></td>
<td id="GrResult"></td>
<td></td>
<td></td>
</tr>
</table>
</div>
<div class="btn-group" role="group" aria-label="...">
<button type="button" class="btn btn-default" onclick="save()">Save</button>
<button type="button" class="btn btn-default" onclick="load()">Load</button>
</div>
Und JS:
Code:
function addRow(r){
count++;
rowcount++;
var i = r.parentNode.parentNode.rowIndex;
var table = document.getElementById("table");
var row = table.insertRow(i + rowcount);
var cell1 = row.insertCell(0);
var textinput = document.createElement('input');
textinput.type = "text";
cell1.appendChild(textinput);
var cell2 = row.insertCell(1);
var textinput2 = document.createElement('input');
textinput2.type = "text";
cell2.appendChild(textinput2);
var cell3 = row.insertCell(2);
var timeinput1 = document.createElement('input');
timeinput1.type = "time";
timeinput1.step = "1800";
timeinput1.value = "00:00";
cell3.appendChild(timeinput1);
var cell4 = row.insertCell(3);
var timeinput2 = document.createElement('input');
timeinput2.type = "time";
timeinput2.step = "1800";
timeinput2.value = "00:00";
cell4.appendChild(timeinput2);
var cell5 = row.insertCell(4);
var timeinput3 = document.createElement('input');
timeinput3.type = "time";
timeinput3.step = "1800";
timeinput3.value = "00:00";
cell5.appendChild(timeinput3);
var cell6 = row.insertCell(5);
var timeinput4 = document.createElement('input');
timeinput4.type = "time";
timeinput4.step = "1800";
timeinput4.value = "00:00";
cell6.appendChild(timeinput4);
var cell7 = row.insertCell(6);
var timeinput5 = document.createElement('input');
timeinput5.type = "time";
timeinput5.step = "1800";
timeinput5.value = "00:00";
cell7.appendChild(timeinput5);
var cell8 = row.insertCell(7);
var timeinput6 = document.createElement('input');
timeinput6.type = "time";
timeinput6.step = "1800";
timeinput6.value = "00:00";
cell8.appendChild(timeinput6);
var cell9 = row.insertCell(8);
var timeinput7 = document.createElement('input');
timeinput7.type = "time";
timeinput7.step = "1800";
timeinput7.value = "00:00";
cell9.appendChild(timeinput7);
var cell10 = row.insertCell(9);
var timeinput8 = document.createElement('input');
timeinput8.type = "time";
timeinput8.step = "1800";
timeinput8.value = "00:00";
cell10.appendChild(timeinput8);
var cell11 = row.insertCell(10);
var timeinput9 = document.createElement('input');
timeinput9.type = "time";
timeinput9.step = "1800";
timeinput9.value = "00:00";
cell11.appendChild(timeinput9);
var cell12 = row.insertCell(11);
var timeinput10 = document.createElement('input');
timeinput10.type = "time";
timeinput10.step = "1800";
timeinput10.value = "00:00";
cell12.appendChild(timeinput10);
var cell13 = row.insertCell(12);
var cell14 = row.insertCell(13);
var button = document.createElement('input');
button.type = "button";
button.value = "Delete";
button.setAttribute("onclick", 'deleteRow(this)');
cell14.appendChild(button);
var length = table.rows.length;
for (var i = 2; i < length -1; i++) {
table.rows[i].cells[0].id = i + "Ordername";
table.rows[i].cells[1].id = i + "Ordernumber";
table.rows[i].cells[2].id = "Research" + i;
table.rows[i].cells[3].id = "Design" + i;
table.rows[i].cells[4].id = "Modification" + i;
table.rows[i].cells[5].id = "Layouts" + i;
table.rows[i].cells[6].id = "Specification" + i;
table.rows[i].cells[7].id = "Revision" + i;
table.rows[i].cells[8].id = "Communication" + i;
table.rows[i].cells[9].id = "Working" + i;
table.rows[i].cells[10].id = "Admin" + i;
table.rows[i].cells[11].id = "Graphics" + i;
table.rows[i].cells[12].id = "Results" + i;
};
}
Im Js ist jetzt nicht der komplette Code drin, da fehlt noch das berechnen der Summen und das löschen einer Zeile, aber ich dachte, dass ist hierfür vielleicht nicht unbedingt notwendig und wäre auch ziemlich lang geworden.
Ich hab des wahrscheinlich alles ein bisschen umständlicher gemacht, als manch anderer, aber ich bin ganz froh, dass es funktioniert
Ich hoffe, dass ihr mir helfen könnt. Falls es mit localStorage nicht funktioniert, dann such ich nach einer anderen Lösung
Danke schonmal
Lg Mona