Über MySQL voreinstellungen in Checkbox treffen
Filos72
- html
- javascript
- mysql
Hallo liebe SelfHTML Community,
ich habe folgendes Problem:
Auf eine meiner Webseiten, soll ein Nutzer die Möglichkeit haben Einstellungen für seinen Account treffen zu können. Nun habe ich mit Javascript und HTML ein dynamisches Formular erstellt, welches wenn man auf "Wollen sie Benachrichtigungen erhalten" auf "Ja" klickt, sich erweitert und weitere Einstellungen in Form von Checkboxen freigibt. Zudem habe ich auf der Seite eine MySQL Datenbankabfrage, die ausliest was der Nutzer vorher angeklickt hat und die Boxen prechecked.
Meine Problem ist jetzt: Meine Website liest richtig aus, ob der Nutzer schonmal auf Ja geklickt hat und wählt dieses auch aus, aber das dynamische Menue wird dadurch nicht ausgefahren. (klar ich benutze ja auch Onclick als Auslöser). Meine Frage ist jetzt, wie stelle ich es an, dass das Formular mit Onklick dynamisch, bei Auswahl, bleibt, aber auch das Untermenue aufruft, wenn mein Code das Ja checked?
Ich hoffe ihr könnt mir Helfen :)
Vielen Dank im Vorraus.
Hallo und guten Morgen,
Auf eine meiner Webseiten, soll ein Nutzer die Möglichkeit haben Einstellungen für seinen Account treffen zu können.
Nun habe ich mit Javascript und HTML ein dynamisches Formular erstellt, welches wenn man auf "Wollen sie Benachrichtigungen erhalten" auf "Ja" klickt, sich erweitert und weitere Einstellungen in Form von Checkboxen freigibt. Zudem habe ich auf der Seite eine MySQL Datenbankabfrage, die ausliest was der Nutzer vorher angeklickt hat und die Boxen prechecked.
Meine Problem ist jetzt:
Meine Website liest richtig aus, ob der Nutzer schonmal auf Ja geklickt hat und wählt dieses auch aus, aber das dynamische Menue wird dadurch nicht ausgefahren. (klar ich benutze ja auch Onclick als Auslöser). Meine Frage ist jetzt, wie stelle ich es an, dass das Formular mit Onklick dynamisch, bei Auswahl, bleibt, aber auch das Untermenue aufruft, wenn mein Code das Ja checked?
Mach das Anzeigen des Menus von einem Flag abhängig, sinnvollerweise der Checkbox, in der Du nach "wollen Sie?" fragst. Trenne den Handler und die eigentliche Anzeigefunktion voneinander.
Nun kannst Du einen Handler für "onClick" (ich denke onChange könnte da besser passen) einrichten und einen für onLoad. Beide aktivieren die Anzeigefunktion, die sich aber nach dem Flag richtet.
Da gibt es dann aber noch Unterschiede zwischen dem voreingestellten Wert der Checkbox und dem Inhalt des Objektes zur Laufzeit. Müsste ich jetzt selber suchen...
Grüße
TS
Danke für die schnelle Antwort :) jetzt hab ich zumindest einen Ansatz. werde ich heute Nachmittag direkt versuchen zu implementieren. Hoffe es klappt alles! Und Danke nochmal.
Hallo,
Nun kannst Du einen Handler für "onClick" (ich denke onChange könnte da besser passen) einrichten und einen für onLoad.
bitte propagiere nicht die CamelCase-Schreibweise für die Eventhandler, sondern die richtige Schreibweise onclick, onchange, onload. In Javascript muss durchgehende Kleinschreibung verwendet werden, denn Javascript ist case sensitive; als Attributname in HTML sollte sie verwendet werden. Also sollte man sich diese Schreibweise auch nach Möglichkeit so angewöhnen.
Dass die Eventhandler im HTML möglichst gar nicht auftauchen sollten, ist nochmal ein anderes Thema.
So long,
Martin
Hallo und guten Morgen Martin,
Nun kannst Du einen Handler für "onClick" (ich denke onChange könnte da besser passen) einrichten und einen für onLoad.
bitte propagiere nicht die CamelCase-Schreibweise für die Eventhandler, sondern die richtige Schreibweise onclick, onchange, onload. In Javascript muss durchgehende Kleinschreibung verwendet werden, denn Javascript ist case sensitive; als Attributname in HTML sollte sie verwendet werden. Also sollte man sich diese Schreibweise auch nach Möglichkeit so angewöhnen.
Danke für den Hinweis.
Dass die Eventhandler im HTML möglichst gar nicht auftauchen sollten, ist nochmal ein anderes Thema.
Wie meinst Du das? Irgendwo muss man sie doch anbinden?
Oder meintest Du damit, dass man lieber in JavaScript einen Event-Listener anmelden sollte?
http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/addEventListener
Dann kann man dem auch beibringen, dass er nur zuhören soll, wenn das HTML-Element überhaupt vorhanden ist und hat wieder etwas zum Thema saubere Trennung der Bereiche Markup, Style, Frontend-PL, Backend-PL, usw. beigetragen.
Grüße
TS
Hi,
bitte propagiere nicht die CamelCase-Schreibweise für die Eventhandler, ...
Danke für den Hinweis.
keine Ursache. ;-)
Dass die Eventhandler im HTML möglichst gar nicht auftauchen sollten, ist nochmal ein anderes Thema.
Wie meinst Du das? Irgendwo muss man sie doch anbinden?
Natürlich, irgendwie schon.
Oder meintest Du damit, dass man lieber in JavaScript einen Event-Listener anmelden sollte?
http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/addEventListener
Entweder das, oder man setzt ein script-Element ins Dokument, in dem beispielsweise steht:
window.onload = init;
Vorausgesetzt, es gibt eine Funktion init(), die als onload-Handler fungieren soll und ihrerseits vielleicht weitere Eventhandler an bestimmte Elemente bindet.
Ciao,
Martin
Hallo und guten Morgen Martin,
Dass die Eventhandler im HTML möglichst gar nicht auftauchen sollten, ist nochmal ein anderes Thema.
Wie meinst Du das? Irgendwo muss man sie doch anbinden?
Natürlich, irgendwie schon.
Oder meintest Du damit, dass man lieber in JavaScript einen Event-Listener anmelden sollte?
http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/addEventListenerEntweder das, oder man setzt ein script-Element ins Dokument, in dem beispielsweise steht:
window.onload = init;
Vorausgesetzt, es gibt eine Funktion init(), die als onload-Handler fungieren soll und ihrerseits vielleicht weitere Eventhandler an bestimmte Elemente bindet.
Da sind wir aber wieder bei dem Thema:
Grüße
TS