Hallo Ich baue gerade ein Lauflicht mit 18 RGB LED, also 54 Kanäle. Alles läuft über einen ESP8266 und funktioniert schon grundlegend, also ich kann über eine Webseite auf dem Controller die einzelnen Farben schalten. Ausgewählt wird jede LED über ein DropDownmenue mit den drei Farben. Jetzt hätte ich gerne folgende Funktion: Webseite aufrufen, die erste Zeile an DD Menues wird angezeigt und kann ausgewählt werden, dann soll eine zweite Zeile hinzugefügt werden und eine dritte.... Wenn auf Absenden geklickt wird, sollten die einzelnen Zeilen nacheinander durchlaufen. Habt Ihr Ideen für die Umsetzung?
Ich würde damit beginnen, Javascript zu lernen. Die Datenübertragung zum µC kann dann mit AJAX realisiert werden.
Ja, das habe ich mir auch schon gedacht und folgenden gefunden:
1 | <script> |
2 | // Formularfelder dynamisch hinzufügen
|
3 | |
4 | var feld = 1; |
5 | var feldm = 1; |
6 | |
7 | function feld_plus() { |
8 | if (feld <= 10) { |
9 | var inhalt = "Feld " + feld; |
10 | document.getElementById('dynamic_input').innerHTML += |
11 | "<input type='text' name='n_" + feld + "' value='" + inhalt + "'><br>"; |
12 | feld++; |
13 | }
|
14 | }
|
15 | |
16 | function feld_minus() { |
17 | if (feld > feldm) { |
18 | feld--; |
19 | document.getElementById('dynamic_input').innerHTML = ""; |
20 | for (var zaehler = feldm; zaehler < feld; zaehler++) { |
21 | var inhalt = "Feld " + zaehler; |
22 | document.getElementById('dynamic_input').innerHTML += |
23 | "<input type='text' name='n_" + zaehler + "' value='" + |
24 | inhalt + "'><br>"; |
25 | }
|
26 | }
|
27 | }
|
28 | </script> |
29 | |
30 | Felder hinzufügen <input type="button" value="-" onClick="feld_minus();"> |
31 | <input type="button" value="+" onClick="feld_plus();"> <br><br> |
32 | |
33 | <div id="dynamic_input"></div> |
Hier getestet funktioniert es prinzipiell auch ganz gut: http://htmlcodeeditor.com/ Nur habe ich noch folgende Probleme: Wenn ein neues Feld hinzugefügt wird, haben alle bisherigen Felder wieder ihren Startwert und die bereits eingetragenen Werte sind verloren. Es wird nur ein Feld hinzugefügt. Wobei, dass würde ich schon hinbekommen ;-) Dann muss aber jeden Formular einzeln übertragen bzw ausgewertet werden. Ist die Aufgabe zu groß für mich, um sie an diesem Wochenende zu lösen?
"ist die aufgabe zu groß" - wahrscheinlich wieso musst du formulare einzeln übertragen? alle auf einmal geht nicht?
Websockets könnten auch was sein, um die Daten zwischen Browser und ESP8266 zu übertragen. Der cnlohr hat was echt beeindruckendes entwickelt: https://www.youtube.com/watch?v=8ISbmQTbjDI Grüße Oliver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.