Formular Fragen je nach Antwort einblenden
Kenji
- php
Hallo, ich bin absolut neu hier und möchte mich schon mal im Voraus für jegliche Hilfe bedanken. Ich bin für jeden Beitrag dankbar, da sie ggf. auch zum Ziel führen können(manchmal brauche ich nur einen Denkanstoß). Ansonsten hab ich bereits die Suche genutzt, aber leider nichts passendes zu meiner Frage gefunden.
Meine Problematik:
Ich habe mit PHP ein Formular konzipiert, dass aus verschiedenen Fragen besteht, die mittels Radiobutton beantwortet werden können. Mein Problem liegt jetzt darin, dass abhängig von der Antwort der ersten Frage, die zweite Frage angezeigt werden soll.
Bsp:
Welche Wissenstand haben sie?
<INPUT type=radio name="skill" value=beginner>Beginner.<br>
<INPUT type=radio name="skill" value=intermediate>Normal <br>
<INPUT type=radio name="skill" value=adavanced>Fortgeschritten <br>
Wenn jetzt "Beginner" ausgewählt wird, könnte dann z.B. die nächste Frage lauten:
Sind sie schon einmal mit einem Auto gefahren?
Wäre die Antwort "Normal", könnte die Frage lauten:
Wissen sie, was ein Katalysator ist?
Meine Frage lautet also: Wie kann ich dynamisch Text auf einer Seite anzeigen, abhängig davon welche Antwort in der vorherigen Frage gewählt wurde.
Am Ende sollen die Werte der ausgewählten Buttons in eine Datenbank eingefügt werden.
Hab schon verschiedene Seiten nachgelesen, leider ohne Erfolg, weswegen ich immer noch "wie der Ochs vorm Berg steh".
Bin für Tipps, Lösungen und Anregungen sehr dankbar und wünsch schon mal allen ein schönes Wochenenden
Gruß Kenji
Hallo,
mit Javascript.
Gruß
jobo
Hi,
mit Javascript.
heut war wohl so ein Tag für Dich, was?
Cheatah
Hallo,
mit Javascript.
heut war wohl so ein Tag für Dich, was?
Wieso? Abhängige Menüs ohne Submit-Button-Klick für den User zwischendrin gehen nur mit Javascript, oder? Ich dachte, ein kleiner Denkanstoß in die richtige Richtung wäre nicht falsch. Aber bildlich gesehen hast du wohl recht (;-).
Gruß
jobo
Hi,
Wieso? Abhängige Menüs ohne Submit-Button-Klick für den User zwischendrin gehen nur mit Javascript, oder?
ohne hierauf näher einzugehen: Du hast offenbar eine richtige Antwort gegeben. Nur leider auf eine völlig andere Frage.
Cheatah
Hallo,
ohne hierauf näher einzugehen: Du hast offenbar eine richtige Antwort gegeben. Nur leider auf eine völlig andere Frage.
Ich dachte, er wollte abhängige Selects bzw. Radios. Naja, wie die Katze, schläft, aber immer das Bett im Blick.
Gruß
jobo
heut war wohl so ein Tag für Dich, was?
Yay! It's Caturday!
Hallo
Meine Problematik:
Ich habe mit PHP ein Formular konzipiert, dass aus verschiedenen Fragen besteht, die mittels Radiobutton beantwortet werden können. Mein Problem liegt jetzt darin, dass abhängig von der Antwort der ersten Frage, die zweite Frage angezeigt werden soll.
Bsp:
Welche Wissenstand haben sie?
<INPUT type=radio name="skill" value=beginner>Beginner.<br>
<INPUT type=radio name="skill" value=intermediate>Normal <br>
<INPUT type=radio name="skill" value=adavanced>Fortgeschritten <br>Wenn jetzt "Beginner" ausgewählt wird, könnte dann z.B. die nächste Frage lauten:
Sind sie schon einmal mit einem Auto gefahren?Wäre die Antwort "Normal", könnte die Frage lauten:
Wissen sie, was ein Katalysator ist?Meine Frage lautet also: Wie kann ich dynamisch Text auf einer Seite anzeigen, abhängig davon welche Antwort in der vorherigen Frage gewählt wurde.
Plan 1: Stelle die Fragen, die entscheiden, welche Fragen hernach zum Einsatz kommen, in einem eigenen Forumlar in einem eigenen Dokument und sende ersteres ab, um bei dessen Verarbeitung serverseitig zu entscheiden, was als nächstes passiert.
Plan 2: Sende die Antwort auf die Fragen, die entscheiden, welche Fragen hernach zum Einsatz kommen, per Ajax an den Server und lasse dir den HTML-Quelltext für die nächsten, aus der Antwort auf die erste Frage resultierenden, Fragen zurücksenden und anzeigen.
Plan 3: Alle möglichen Fragen werden in einer geeigneten Form in einem JavaScript-Array im Kopf des Dokuments gespeichert. Je nach der Antwort auf die Fragen, die entscheiden, welche Fragen hernach zum Einsatz kommen, werden dann die entsprechenden weiteren Fragen in das Dokument eingefügt.
Die Pläne 2 und 3 verlassen sich darauf, dass JavaScript aktiviert ist. Plan 1 ist in der Handhabung (je nach Umfang des Fragenkatalogs) eventuell umständlich, bedarf aber keiner besonderen Voraussetzungen im Browser.
Stichworte für die Suche wären Session, Ajax und DOM (unter der Voraussetzung, dass du PHP zur Auswertung und Ausgabegenerierung beherrschst).
Zu guter Letzt, bevor jemand das Fehlen dieser "Alternative" bemängelt:
Du kannst auch das *vollständige* Formular mit allen möglichen Fragen an den Browser schicken und dort per JavaScript erstmal alle Fragen bis auf die, die entscheiden, welche Fragen hernach zum Einsatz kommen, ausblenden. Jenachdem, wie die Antworten auf diese Fragen ausfallen, blendest du die entsprechenden anderen Fragen ein.
Meiner Meinung nach ist dies aber _keine_ Alternative, da bei nicht aktiviertem JavaScript alles sichtbar bleibt und der Nutzer *höchstwahrscheinlich* nicht sauber durch den katalog geführt werden kann (er kann ja nun auch auf Fragen antworten, die ihm normalerweise unzugänglich blieben). Es gibt Anwendungsfälle, bei denen das unerheblich ist, aber eben auch viele, wo das eben doch eine Rolle spielt.
Tschö, Auge
Hi!
Ich habe mit PHP ein Formular konzipiert, dass aus verschiedenen Fragen besteht, die mittels Radiobutton beantwortet werden können. Mein Problem liegt jetzt darin, dass abhängig von der Antwort der ersten Frage, die zweite Frage angezeigt werden soll.
Mit Javscript: Verkettere Auswahllisten. Das Prinzip lässt sich auch für andere Elemente als Auswahllisten verwenden.
Ohne Javascript: PEARs HTML_QuickForm_Controller. Das ist jedoch etwas komplex. Wenn du es auf einfache Weise nachbauen willst: Das Prinzip ist quasi wie beim Affenformular. Auf dem Server ist die Antwort auszuwerten und dementsprechend der nächste Inhalt darzustellen. Die URL bleibt dabei immer die gleiche. Das Formular schickt sich sozusagen auf sich selbst.
Lo!