Zur Navigation

Web SQL nutzen [6]

51 Kokarde

Guten Aben

Ich habe die Datei umbenannt nach "spielwiese.html", damit ich das funktionierende Original nutzen kann mit dem Eingabefeld.

Der Code liegt jetzt hier:

http://www.hardwareplattform.de/websql-db/spielwiese.html

Das Original liegt hier:

http://www.hardwareplattform.de/websql-db/form_create_neue_munitionskiste.html

So dass man sich auch mal Kisten für einen Test anlegen kann :)
Nimmt man die index.html kommt man auf die Startseite der Mini-App

Ich habe deine Korretur umgesetzt in:

function processResultSet2(results) {
      
var option = document.createElement('option');
    option.innerHTML = 'Bitte wählen Sie eine Kiste';
    option.value = '';
    select.appendChild(option);

    for (var i = 0; i < len; i++) {
       if (results.rows[i].tbl_name != '_WebKitDatabaseInfoTable_') {
            var option = document.createElement('option');
            option.innerHTML = results.rows[i].tbl_name;
            select.appendChild(option);
        }
    }
      
      
    var parent = document.getElementById('select');
    parent.appendChild(select);
      
      
}

So, irgendwie war zuvor eine Klammer am Ende zu viel hat die Konsole gemeldet, die habe ich entfert.

Jetzt meldet die Konsole noch folgendes:


Uncaught ReferenceError: len is not defined(…) auf Zeile 150

Ich habe versucht es mit "var len = ""; zu lösen, hat aber nicht geklappt.

Idee?

07.10.2016 19:31

52 Jörg Kruse

Dieser Abschnitt fehlt:

    var len = results.rows.length;
    var select = document.createElement('select');
    select.name = 'munitionskiste';

Darin wird len definiert als Größe des Arrays, damit die folgende for Schleife "weiß", wie oft sie durchlaufen muss (i < len), und das select Element wird angelegt.

07.10.2016 19:41 | geändert: 07.10.2016 19:43

53 Kokarde

Guten Morgen Jörg

Aha, ich habe das dann so eingebaut.

FUNKTION

function processResultSet2(results) {
      
var option = document.createElement('option');
      
            var len = results.rows.length;
            var select = document.createElement('select');
            select.name = 'munitionskiste';
      
    option.innerHTML = 'Bitte wählen Sie eine Kiste';
    option.value = '';
    select.appendChild(option);

    for (var i = 0; i < len; i++) {
       if (results.rows[i].tbl_name != '_WebKitDatabaseInfoTable_') {
            var option = document.createElement('option');
            option.innerHTML = results.rows[i].tbl_name;
            select.appendChild(option);
        }
    }
      
    var parent = document.getElementById('select');
    parent.appendChild(select);
      
}


Jetzt wird eine coole Dropdown erzeugt mit Inhalt:

- _WebKitDatabaseInfoTable_
- KISTE1
- KISTE2

Mega!!!!!

Ich trau mich garnicht zu fragen, ob man dieses

_WebKitDatabaseInfoTable_

noch irgendwie unterbinden kann :))

Wünsche einen guten Wochenstart!

10.10.2016 07:42

54 Kokarde

Äh, hab gelesen das dies ggf. mit dem Befehl splice() geht.
Aber wie genau habe ich noch nicht verstanden.

Vermutlich irgendwie so:

// neue Variable (Array)

var dropdown = results.rows[i].tbl_name;

           dropdown.splice(1, 99, "-----");

alert (dropdown);

// Ausgabe müsste lauten ---------, KISTE1, KISTE2, KISTE3 ..... 

Aber ich erhalte immer die Meldung ich müsse das in eine Funktion packen:
dropdown.splice is not a function

10.10.2016 14:17 | geändert: 10.10.2016 14:51

55 Jörg Kruse

Ich habe mir das jetzt mal auf spielwiese.html angeschaut.

Der Name der Systemtabelle hat vorne und hinten jeweils zwei Unterstriche!

Also muss die Bedingung entsprechend angepasst werden:

       if (results.rows[i].tbl_name != '__WebKitDatabaseInfoTable__') {

10.10.2016 15:17 | geändert: 10.10.2016 15:18

1 Forenmitglied fand diesen Beitrag gut

56 Kokarde

OH MEIN GOTT!!!!

Jaaaaaa, ... mit Blindheit geschlagen sage ich dazu nur :(

Mensch, ich roll mich hier gerade auf dem Boden.
Das war kein einfacher Unterstrich, sondern 2!!!

Geändert und schon läuft es :)

Ich bin so glücklich *juahahauuuuaaa*

Und ich probiere hier mit ausschneiden und einfügen ....

DANKE - VIELEN DANK!!!!

10.10.2016 15:37

57 Kokarde

Kleiner Wermutstropfen.
Irgendwas an irgendeiner Stelle hat dazu geführt das die kleine Anwendung nicht mehr im Safari Browser läuft.
Im Chrome Browser sieht alles cool aus und das Ziel ist erreicht!

11.10.2016 08:19

58 Kokarde

Für alle die hier ggf. mitlesen oder durch Zufall auf dieses Posting stoßen.

Alles für die Katz!!!!

WebSQL läuft nicht auf den mobilen Browsern :((((
Somit ist die kleine WebSQL App nur für PC / Notebooks und auch nur vollumfänglich mit dem Chrome nutzbar.

Nur mal so zur Info, falls Jemand auf die Idee kommt sowas auch nutzen bzw. bauen zu wollen.

Jetzt frage ich mich, was ist mit localStorage, wäre das ein Ansatz?

12.10.2016 11:31

59 Jörg Kruse

Wir hatten ja schon einen Ansatz mit JSON.

Ich trenne nachher diesen Thread auf in den LocalStorage- und Web SQL-Part, dann können wir im ersten Part an alter Stelle weiter diskutieren...

---

Ich habe die beiden Themen getrennt. Bez. LocalStorage können wir dann hier weitemachen:

https://joergs-forum.de/localstorage-nutzen-t-4790-1#p8

12.10.2016 13:40 | geändert: 12.10.2016 15:25

1 Forenmitglied fand diesen Beitrag gut

... 4 Monate später ...

60 Kokarde

Obwohl geschlossen, durch Zufall folgendes gefunden und ausprobiert.
Nur so als Anmerkung für Leute die es weiter probieren möchten.
Grundsätzlich ist das Thema abgeschlossen.

Info

Durch einen Zufall bin ich auf dieses Paket hier gestoßen.
Es ist, so die ursprüngliche Idee, eine Offline-Browserversion.

http://www.hardwareplattform.de/munition3/index.html

Es nennt sich, glaube ich, Rabbit JS und stammt aus dem Oracle Java Archiv.

Have Fun

21.02.2017 11:03

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]