Beiträge von Sempervivum

    Bei den beiden, Select2 und Selectize, jeweils zwei, einmal jQuery und dann das eigentliche Skript.

    Zitat

    Was ich maximal machen kann ist ein File zu hinterlegen was geladen wird.

    Wenn Du nur ein File laden kannst, kannst Du versuchen, mit einem Editor beide zusammen zu fügen, erst jQuery und dann das Skript.

    Ja, wird eindeutig ohne Fehler geladen.

    Zitat

    Mmh, aber eigentlich bin ich ja komplett auf http: unterwegs Würde ich meinen.

    Ich dachte mehr daran, dass Fully Kiosk die Seite möglicher Weise über https lädt.

    Ich habe inzwischen eine wenig weiter gesucht und dies gefunden:

    Fully Kiosk Browser für Android - Seite 86
    Fully Kiosk Browser für Android - Seite 86
    forum.fhem.de

    Da ist davon die Rede, dass ein aloz77 der Entwickler von Fully Kiosk ist. Möglicher Weise könntest Du den mal anschreiben. 

    Zitat

    Das mit http: und https: ist nur eine Vermutung meiner Seite, da es recht deutlich ist.

    Die Vermutung ist durchaus berechtigt, es gibt da "mixed content", das ist ein Fehler, den man bekommt, wenn man in einer https-Seite eine über http einbindet. Allerdings würde dann die eingebundene Seite überhaupt nicht geladen werden, während in unserem Fall nur die Datalist nicht funktioniert.

    Eine normale Dropdownliste wäre schon ein wenig heftig bei 250 Einträgen. Mit diesen Kiosk-Sachen habe ich mich noch nicht beschäftigt. Ich sehe zwei Möglichkeiten, da weiter zu kommen:

    1. Du versuchst, jemand zu finden, der sich damit auskennt, am besten indem Du einen neuen Thread für dieses spezielle Problem auf machst.
    2. Bevor es datalist gab wurden Bibliotheken entwickelt, um so etwas mit Javascript nachzubilden. Ich kenne da https://selectize.dev und https://select2.org. Beide brauchen jQuery aber damit kann man leben. Ich hatte sie vor längerer Zeit schon kennen gelernt und benutzt. Durch erneutes Googeln habe ich jedoch dieses gefunden: https://www.cssscript.com/html-datalist-polyfill-safari/ Das braucht kein jQuery und scheint kinderleicht einzusetzen zu sein. Damit sollten wir es versuchen.

    Allerdings will mir irgend wie nicht in den Kopf, dass dieses Android WebView Datalists nicht unterstützt. Aber möglicher Weise einfacher, dieses Polyfill einzubauen als in dieser Sache weiter nachzuforschen.

    Da offenbart sich mal wieder, dass das Web und Google schlechte Ratgeber sind wenn es um das Lernen von Webentwicklung geht. Sehr viel hat sich im Laufe der Zeit geändert aber das Web vergisst nicht und gefühlte 80-90% der Quellen sind veraltet.

    Einen Kurs oder ein Buch kann ich nicht empfehlen aber die Doku von PHP. Sehr gut verständlich und mit vielen Beispielen.

    Und dann bei konkreten Problemen im Forum nach fragen.

    Natürlich, Du brauchst den gleichen Code nur dort hin zu schreiben, wo die Antwort vom Server da ist:

    Das liest man immer gern!

    Bleibt noch das Rücksetzen des Formulars, dieses lässt sich sehr leicht machen, nur das onclick so ändern:

    Code
                <input style="height: 30px; width: 100px; color:#fafafa; background-color: #cf0a35;" type="button"
                    value="Reset" onClick="document.getElementById('jsonupload').reset();">

    Bei den übrigen Feldern war das auch schon implementiert aber es war noch ein Fehler drin:

    Bei den folgenden kannst Du es sicher selbst korrigieren.

    Die Funktion liedHolen kann man noch ein wenig kürzen und verbessern:

    Ja, da gab es noch einiges was nicht passte. Ich hatte mir noch nicht vollständig dein Formular angesehen und dachte, es gäbe immer zwei Liednamen und wenn nur ein Lied angezeigt wird, nimmt man input-liedname-1 aber das war ein Irrtum.

    Zitat

    Langsam werden es soviele verschachtelte Funktionen und viel zu viel Nice to have

    Das hat man häufig, vor allem wenn es hunderte von Zeilen sind oder noch mehr. Deshalb habe ich versucht, das ganze wieder ein wenig zu straffen und die Prüfung, ob die Eingabe für das Lied OK ist, in die Funktion liedHolen hinein genommen. Die sieht dann so aus:

    Die Auswertung wird dann wesentlich einfacher und sieht für ein Lied so aus:

    Code
                if (verein === "liednummer1") {
                    var lied = liedHolen('#input-liedname');
                    if (lied.invalid) isValid = false;
                    json = [
                        { "text": [148, 5, "MUSIKKAPELLE", "fonts/bahnschrift20", 1, 1] },
                        { "text": [148, 26, lied.nr, "fonts/calibrib80", 1, 1] },
                        { "text": [148, 97, lied.name, "t0_14b_tf", 1, 1] },
                        { "text": [148, 106, "ORT", "fonts/bahnschrift20", 1, 1] }
                    ];
                } else if (verein === "liednummer2") {

    Das vollständige HTML hänge ich an, ich habe es nur oberflächlich getestet.

    Ja, ich denke, wir sollten das so machen, das ist wahrscheinlich am einfachsten: