Funktion wird nur korrekt ausgeführt, wenn ein alert aufgerufen wird

  • Hallo,


    ein weiteres Problem ist, dass eine Funktion nur aufgerufen wird, wenn nach einer if-Abfrage ein alert ausgegeben wird.


    Ich arbeite mit einer WebSQL-Datenbank und möchte über die id (die ID-Spalte wird von der DB selbst erzeugt) die Daten einer Person in ein Formular laden, damit ich die Daten ggf. bearbeiten kann.
    Ich übergebe die ID an die URL und hole sie mir in der entpsrechenden Funktion wieder:


    JavaScript
    var url = document.URL;var rowid = url.substring(url.lastIndexOf("#")+1);


    Gehen wir nun davon aus, dass wir den ersten Eintrag der DB bearbeiten möchten, so ist die ID 1. Das stimmt soweit auch.


    Wenn ich nun die UPDATE-Abfrage ausführe, dann scheint die DB die ID nicht zu erkennen.
    Sobald aber ein

    JavaScript
    alert(rowid);

    vor der UPDATE-Ausführung steht, funktioniert es.
    Weiß jemand woran das liegen kann?


    Mit Hilfe einer Bekannten, habe ich den SQL-COde bereits überprüft und sie sagt, dass der Fehler ein JS-Fehler ist (sie kann mit JS aber nichts anfangen).
    Es wird weder die Error noch die Successfunktion aufgerufen.


    Hier die UPDATE-Abfrage:


    SQL
    database.transaction(function(transaction){				transaction.executeSql("UPDATE customerprofile SET firstname=?, lastname=?, mail=?, phonenumber=?, "+						"brand=?, model=?, buildingday=?, buildingmonth=?, buildingyear=?, kbanumberfirst=?, kbanumberlast=?, " +						"chassiscode=?, motorcode=?, transmissioncode=?, tuvmonth=?, tuvyear=?, oiloldmonth=?, oiloldyear=?, " +						"oiloldkilometer=?, oilnewmonth=?, oilnewyear=?, oilnewkilometer=?, timingbeltmonth=?, " +						"timingebltyear=?, timingebltkilometer=?, airfiltermonth=?, airfilteryear=?, " +						"airfilterkilometer=?, interiormonth=?, interioryear=?, interiorkilometer=?, " +						"fuelfiltermonth=?, fuelfilteryear=?, fuelfilterkilometer=?, transmissionfiltermonth=?, " +						"transmissionfilteryear=?, transmissionfilterkilometer=?, notes=? WHERE rowid=?", 						[firstname, lastname, mail, phonenumber, brand, model, buildingday,						buildingmonth, buildingyear, kbanumberfirst, kbanumberlast, chassiscode,						motorcode, transmissioncode, tuvmonth, tuvyear, oiloldmonth, oiloldyear,						oiloldkilometer, oilnewmonth, oilnewyear, oilnewkilometer, timingbeltmonth, 						timingebltyear, timingebltkilometer, airfiltermonth, airfilteryear, 						airfilterkilometer, interiormonth, interioryear, interiorkilometer, 						fuelfiltermonth, fuelfilteryear, fuelfilterkilometer, transmissionfiltermonth,						transmissionfilteryear, transmissionfilterkilometer, notes, rowid], updateSuccess, error);				});


  • kenn ich irgendwie von web SQL, ist n problem wo die vairable (in dem fall rowid) irgendwie noch nicht verfügbar ist an dieser stelle, frag mich nicht was das problem ist, aber ich glaube das ist der Grund.
    versuch mal statt dem alert ein ' var rowid = rowid' und mach davor und danach ein ' console.log(typeof rowid, rowid)'

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!