Beiträge von draexler

    Leider auch kein Erfolg. Habe mal die" datalist-polyfill.min.js" Datei in jedes Verzeichnis gelegt das ich habe. Natürlich mit Pfad Anpassungen. Kein Erfolg.


    Ach Mensch, gestern noch so erfreut und heute wegen so einer kleinen Sachen wieder Probleme.....

    Kinderleicht das sagst du so einfach ;)

    Meinen Verständnis zufolge lege ich die "datalist-polyfill.min.js" (eine Datei, obwohl in dem Package mehr gedownloadet wurde) in das gleiche Verzeichnis wo auch meine .html liegt. Dann ergänze ich mein .html mit den script:


    Aber leider funktioniert es trotzdem nicht, vorausgesetzt mein vorgehen war richtig...

    Oh, wie recht du doch hast...

    Wollte das ganze jetzt auf einen Android tablet einrichten mit der Fully Browser Kiosk App. Usecase ist, Tablet wird eingeschaltet und die App startet sich und blockiert denn ganzen Rest, Kiosk Modus halt.

    Das ganze funktioniert über Android WebView, was ja Chromium entspricht.

    Leider funktionieren anscheinend aber über Android WebView "Datalists" nicht.


    Konnte ich relativ schnell rausfinden mit dem Code:


    Funktioniert nicht.


    Deswegen jetzt die Frage... Gibt es irgendeine alternative? Mir fällt leider nichts ein. Notfalls müsste ich mit einer Normalen Dropdownliste arbeiten.

    Ah das ist besser. Ich hatte es so gemacht.


    Code
    <input style="height: 30px; width: 308px; font-size:20px; color:#fafafa; background-color: #cf0a35;" type="button" value="Reset" onClick="location.href=location.href">

    Deines ist aber besser :)


    Siehst du eine Möglichkeit wenn die Übertragung erfolgreich war, das Formular auch zurücksetzen?

    Mensch was soll ich sagen, es läuft. Danke, danke dir :)

    Die Prüfung funktioniert aber so wie ich den Code verstehe aber nur bei den Eingabefeldern die die Function liedholen durchlaufen. Denn nur da wird ja der Wert auf invalid gesetzt, was ja hier abgeprüft wird, oder?


    Wie kann ich es jetzt noch schaffen das die anderen Felder, sollte nichts eingetragen werden, auch einen Fehlermeldung erzeugen? Also wenn z.B. nichts im "Freitext" Feld eingetragen worden ist?

    Braucht es hier auch noch eine extra Function?

    Also irgendwie schaffe ich es nicht. Habe es eigentlich genauso gemacht wie du beschrieben hast (und was nach meiner Logik auch passen würde).

    Aber leider hat dann der Absendebutton keinerlei Funktion.

    Wie müsste man eigentlich dann hier die Funktion mit der Inputüberprüfung integrieren? Also Die Werte der "Liednamen" prüfen? Das hattest du schon vorher mal beschrieben. Habe aber leider keine Ahnung wie ich das dann auch noch integrieren müsste.


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

    Aber wenn das geht, dann wars das. Mehr kommt dann nicht mehr. Muss dann auch mal reichen.

    Sobald ich es in ein paar Eingabefelder eintrage greift nur noch:


    Code
                } else {
                    alert('Eingaben nicht korrekt');
                }

    Ergänzung: Wenn ich es nur bei einen Eingabefeld eingebe funktioniert es. Problem ist ja das ich durch die Auswahlfelder ja immer andere Eingabefelder nicht ausfülle. Sind aber als required gekennzeichnet...

    Habe jetzt das mit dem Fetch hinbekommen (Keine Weiterleitung mehr)

    Das läuft jetzt auf jeden Fall, musste den Code folgendermaßen anpassen:


    Leider funktioniert aber die Prüfung nicht ob etwas eingetragen ist oder nicht. Es springt nicht in die Else Schleife obwohl das Feld leer ist.

    Steht vermutlich im Zusammenhang weil ich das Script aus #34 ist nicht mehr implementiert habe (Prüfung ob die Eingabe zum Wertevorrat passt), weil sonst ein abschicken auch nicht mehr möglich ist. Wahrscheinlich muss das auch in dieses Stück Code von Post #39 hinein? Keine Ahnung.

    Hallo (sorry war unterwegs),

    habe das jetzt wie im #34 umgesetzt. Funktioniert (wobei keine Fehlermeldung kommt wenn gar keine Eingabe gemacht wurde).


    Anschließend habe ich das ganze einfach mal in den bestehenden Button eingesetzt.

    Code
    <input style="height: 40px; width: 100px;" id="send-it" type="button" value="Übertragen" onclick="jsonupload();"><br><br>

    Die Prüfung funktioniert hier auch, aber natürlich wird der josonupload trotzdem durchgeführt (Hatte ich auch so erwartet). Wie könnte man das verhindern, wie müsste das ganze aussehen?


    Vielleicht wäre hier auch der passende Zeitpunkt das Thema zu betrachten, das nach dem Klick ich nicht auf eine Bestätigungsseite geleitet werde, sonder auf der Seite bleibe.

    Im Post #31 hattest du ja schon gefragt. Also die Eingabe .html öffne ich einfach über EspIP-Adresse/steuerung.html (Name der von mir hinterlegten .html)

    Die Bestätigungseite ist aber in dem Projekt hartvercoded, da komme ich also nicht ran. Im Post #23 wurde AJAX vorgeschlagen?!

    So geschafft, was eine eckige Klammer zuviel so ausmacht....


    Jetzt zu der nächsten Frage. Kann man das Eingabefeld so beschränken das nur der Wertevorrat möglich ist? Aktuell kann ich ja alles eingeben, was dann ja zu einer nicht verarbeitbaren JSON führt.

    Also irgendwie funzt es nicht


    Das hier gehört:

    Code
            function liedHolen(sel) {
                inputLied = document.querySelector(sel);
                const splitted = inputLied ? inputLied.value.split(': ') : ['', ''];
                return { nr: splitted[0], name: splitted[1] };
            }

    for dem Abschließenden Body in die Script Sektion? Richtig?


    Also:



    Aber ich denke hier ist auf jeden Fall ein Problem

    oder?



    Nochmal vielen Dank für deine geduldige Hilfe :) Parallel lese ich mich in deine genannten Funktion etc. ein. Ist aber doch ganz schön viel Input auf einmal. Wenn es aber mal funktionsfähig ist, macht es beim mir immer klick.


    Lass uns mal das zum laufen bringen. Dann schauen wir mal wegen der Buttonfunktion aus Post #31

    Ok ich habs hingebracht.


    Aber was muss ich jetzt machen um das ganze auch für das zweite Liedstück hinzubekommen?


    Fehler gefunden. Ich hatte vergessen eine wichtige Zeile auszuklammern. Fremdschäm...


    Aber das mit der Aufteilung verstehe ich noch nicht so ganz.


    Wie muss jetzt der Bereich mit dem JSON Aufbau aufgebaut sein?

    Und wo muss der Bereich hin?

    Zitat

    Und dann kannst Du Nummer und Name so ermitteln:

    Code

    Code
                const splitted = inputLiednamen.value.split(': ');            let nr1= splitted[0];            let name1= splitted[1]

    Danke für die schnelle Antwort.

    Ist das so richtig?
    Habe das jetzt mal eingefügt, aber wenn ich etwas in das Feld eingebe kommt da nichts, also kein Vorschlag.

    Und zu der anderen Frage. Ja die Ordnung soll so sein. Deswegen getrennt wegen verschiedener Schriftarten.