21
Hi, nachdem ich das Weekend nach einer Lebensmittelvergiftung gerade so überstanden habe, werde ich mich mal gleich mit Deinem Tipp befassen.
Erst mal ein nettes Dankeschön und nun schaue wir mal ...
Verdrängung ist auch bei mir an der Tagesordnung *haha*
Ich habe die Datei neu hoch geladen:
http://www.hardwareplattform.de/web-index-db/form_edit_munition.html
Der Code-Block, den ich von Dir eingefügt habe, sieht nun so aus:
Der Code-Block für das Update sieht nun so aus:
Der Bereich, wo die Tabelle angezeigt wird und wo die Selektierung per "value.biblioid" und "value.year" passiert und der Button erzeugt wird, sieht so aus:
Bei Klick auf "Updateliste erzeugen" wird die Tabelle erzeugt und im Feld was es upzudaten gilt, steht der Wert aus der DB den man nun überschreiben kann.
Die Konsole gibt aus:
- openDb ...
- addEventListeners
- openDb DONE
- displayPubList
- displayPubList cursor: IDBCursorWithValue {value: Object, source: IDBObjectStore, direction: "next", key: 1, primaryKey: 1}
- Keine weiteren Einträge!
Alles cool :)
Nun überschreibe ich das Feld mit der Überschrift "Stückzahl" mit einem neuen Wert und klicke auf den kleinen Button "update".
Die Konsole gibt aus:
- openDb ...
- addEventListeners
- openDb DONE
Oben im Browser steht:
http://www.hardwareplattform.de/web-index-db/form_edit_munition.html?new_year=3333&biblioid=1476950241879&update-list-button=update
Nun klicke ich wieder auf "Updateliste erzeugen".
Arrrrggg ... es hat sich nix getan ...
:((
Ich hatte ja zuvor ein paar Ideen aufgelistet im Post No. 18, ggf. passt davon eine Möglichkeit?
Habe das jetzt so verstanden, dass das Formular eigentlich nix annimmt und somit auch keine Werte abgeändert werden können, oder?
PS: die andere Variante, mit der festen Zuordnung von Werten, der funktioniert super. Jetzt müssen wir nur noch herausfinden, wie man im derzeitigen Formular-Modus die Werte in die Variablen bekommt und die somit dann in die DB zurück geschrieben werden.
Erst mal ein nettes Dankeschön und nun schaue wir mal ...
Verdrängung ist auch bei mir an der Tagesordnung *haha*
Ich habe die Datei neu hoch geladen:
http://www.hardwareplattform.de/web-index-db/form_edit_munition.html
Der Code-Block, den ich von Dir eingefügt habe, sieht nun so aus:
var update_button = $('#update-list-button');
update_button.click(function(evt) {
evt.preventDefault();
updateResult();
});
Der Code-Block für das Update sieht nun so aus:
// UPDATE
function updateResult() {
var transaction = db.transaction(['Munitionsliste'], 'readwrite');
var objectStore = transaction.objectStore('Munitionsliste');
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if(cursor) {
/**
* biblioid funktioniert nur bei festen Wert direkt im Skript :(
*/
var biblioid = $('#biblioid').val();
console.log("Geändert wird:" + biblioid);
/**
* cursor selektiert die ID für den Datensatz der upgedatet werden soll
*/
if(cursor.value.biblioid === biblioid) {
var updateData = cursor.value;
/**
* year funktioniert nur bei festen Wert direkt im Skript :(
*/
var year = $('#new_year').val();
console.log("Geändert wird:" + year);
/**
* updateData.year funktioniert nur bei festen Wert direkt im Skript :(
*/
updateData.year = year;
var request = cursor.update(updateData);
request.onsuccess = function() {
console.log('a new year - done!');
};
};
cursor.continue();
} else {
console.log('Entries displayed.');
}
};
}
Der Bereich, wo die Tabelle angezeigt wird und wo die Selektierung per "value.biblioid" und "value.year" passiert und der Button erzeugt wird, sieht so aus:
var list_item2 = $('<table width="80%"><tr><td><b><u>LFD. NR: ' + cursor.key + '</u><br><br></b></td><td></td><td></td><td></td><td></td></tr><tr><td><b>DATEN-ID:</b></td><td><b>HERSTELLER:</b></td><td><b>STÜCKZAHL:</b></td><td><b>KALIBER:</b></td><td><b>KURZNOTIZ:</b></td></tr><tr><td>' + value.biblioid + '<br><br></td><td>' + value.title + '<br><br></td><td><form id="update-form"><input type="number" id="new_year" name="new_year" value="' + value.year + '"> <input type="hidden" id="biblioid" name="biblioid" value="' + value.biblioid + '"><input type="submit" id="update-list-button" name="update-list-button" value="update"/></form><br><br></td><td>' + value.kaliber + '<br><br></td><td>' + value.notiz + '<br><br></td></tr></table>' );
pub_list.append(list_item2);
Bei Klick auf "Updateliste erzeugen" wird die Tabelle erzeugt und im Feld was es upzudaten gilt, steht der Wert aus der DB den man nun überschreiben kann.
Die Konsole gibt aus:
- openDb ...
- addEventListeners
- openDb DONE
- displayPubList
- displayPubList cursor: IDBCursorWithValue {value: Object, source: IDBObjectStore, direction: "next", key: 1, primaryKey: 1}
- Keine weiteren Einträge!
Alles cool :)
Nun überschreibe ich das Feld mit der Überschrift "Stückzahl" mit einem neuen Wert und klicke auf den kleinen Button "update".
Die Konsole gibt aus:
- openDb ...
- addEventListeners
- openDb DONE
Oben im Browser steht:
http://www.hardwareplattform.de/web-index-db/form_edit_munition.html?new_year=3333&biblioid=1476950241879&update-list-button=update
Nun klicke ich wieder auf "Updateliste erzeugen".
Arrrrggg ... es hat sich nix getan ...
:((
Ich hatte ja zuvor ein paar Ideen aufgelistet im Post No. 18, ggf. passt davon eine Möglichkeit?
Habe das jetzt so verstanden, dass das Formular eigentlich nix annimmt und somit auch keine Werte abgeändert werden können, oder?
PS: die andere Variante, mit der festen Zuordnung von Werten, der funktioniert super. Jetzt müssen wir nur noch herausfinden, wie man im derzeitigen Formular-Modus die Werte in die Variablen bekommt und die somit dann in die DB zurück geschrieben werden.