Die API abrufen
Die API wird Ihnen vom Eventll-quiz-init als event.detail.llQuizApi übergeben. Bewahren Sie dieses Objekt auf und nutzen Sie es, wann immer Sie es brauchen.
Ihr Skript kann vor oder nach dem Laden des Quiz ausgeführt werden. Registriert es sich spät, wird
ll-quiz-init automatisch erneut an es gesendet – dieses Muster funktioniert also immer.llQuizApi, sodass Sie auch auf einen Schritt oder eine Antwort reagieren und direkt handeln können. Siehe Quiz-Events.
Schritte und Blöcke über den Namen
Jede Funktion, die einen Schritt oder Block entgegennimmt, akzeptiert dessen Namen oder ID. Namen sind die im Builder vergebenen Bezeichnungen – sie nutzen Sie im Normalfall. IDs werden generiert und sehen aus wieblock-3f9c….
Die Antworten auslesen
getAnswers() gibt alle bisher gegebenen Antworten zurück, einen Eintrag pro Block. getAnswersSimple() liefert dieselben Antworten als einfaches Objekt mit dem Label als Schlüssel. Ausgeblendete Blöcke und leere Antworten bleiben unberücksichtigt.
fields und fieldsSimple, die die Events mitführen – Code, der mit dem einen umgeht, beherrscht also auch das andere.
Wissen, wo der Besucher steht
index beginnt bei 0. isSubmitted wird true, sobald das Quiz in diesem Besuch abgesendet wurde.
Blöcke finden
Listen enthalten nur Blöcke, die einen Wert speichern. Überschriften, Absätze, Bilder und Ähnliches erscheinen nie.
getBlock() findet zusätzlich Schaltflächen (Continue, Previous, Submit, Button), sodass Sie deren Text ändern oder sie deaktivieren können.
Welche Blöcke speichern einen Wert?
Welche Blöcke speichern einen Wert?
Eingabefelder (Text, E-Mail, Telefon, Zahl, Textarea, Datum, Geburtsdatum, Postleitzahl, Adresse, OTP), Auswahlen (Multiple Choice, Bildauswahl, Select), Checkbox, Range Slider, Upload, Unterschrift und versteckte Felder.Alles übrige dient der Darstellung oder Navigation: Überschrift, Absatz, Bild, Video, Trenner, Liste, Loader, Countdown, Fortschritt, Accordion, Links, Custom Code, Tracking und die Schaltflächen. Ein Aufruf von
getValue(), setValue(), reset() oder validate() auf einem davon löst einen Fehler aus. Container sind transparent: Die Blöcke darin werden wie jeder andere Block gelistet.Einen Block auslesen und ändern
Jeder zurückgegebene Block ist dieselbe Art von Objekt – die folgenden Beispiele funktionieren also bei jedem Block, der den jeweiligen Aufruf unterstützt.Wert
ll-quiz-value-change mit source: 'api' aus, sodass Ihre Listener ihn von einer Eingabe des Besuchers unterscheiden können.
Wertformate je Block
Wertformate je Block
- Checkbox:
'checked'oder'unchecked' - Multiple Choice, Bildauswahl, Select: der Wert der Option, zum Beispiel
'pro' - Multiple Choice mit mehreren Auswahlen: die Werte, verbunden durch das im Block konfigurierte Trennzeichen
- Alles übrige: der vom Besucher eingegebene Text
Label und Platzhalter
setLabel() und getLabel() lösen bei Blöcken ohne Label einen Fehler aus.
Optionen
Multiple-Choice-, Bildauswahl- und Select-Blöcke geben ihre Optionen preis:getOptions() auf einem anderen Block löst einen Fehler aus.
Fehler und Fokus
Schaltflächen
enable() und disable() funktionieren bei Continue-, Submit- und Button-Blöcken und lösen bei allen anderen einen Fehler aus.
Sichtbarkeit
undefined bedeutet, dass Sie ihn nie geändert haben – der Block folgt dann seinen eigenen Einstellungen.
Validieren
Schlägt ein Schritt fehl, löst das Quiz außerdem
ll-quiz-validation-error mit jedem fehlerhaften Block und dessen Meldung aus, markiert mit source: 'api'. Ein einziger Listener kann damit sowohl die Versuche des Besuchers als auch Ihre eigenen behandeln. Details auf der Events-Seite.Navigieren und absenden
goNext(), goToStep() und submit() validieren zuerst den angezeigten Schritt. Ist er ungültig, bleiben sie stehen, schreiben eine Warnung ins Log und lösen ll-quiz-validation-error aus. goBack() validiert nie.
submit() tut genau das, was die Submit-Schaltfläche des Besuchers tut: Der Lead wird gespeichert, ll-quiz-submit wird mit der Serverantwort ausgelöst, der Schutz gegen Mehrfachabsenden greift und die Nach-dem-Absenden-Aktion der Submit-Schaltfläche läuft. In einem Schritt ohne Submit-Schaltfläche sendet das Quiz ab und bleibt, wo es ist. Das zurückgegebene Promise wird aufgelöst, sobald all das abgeschlossen ist.
Rezepte
Aus der URL vorbefüllen
Aus der URL vorbefüllen
Einen eigenen Fortschrittstext anzeigen
Einen eigenen Fortschrittstext anzeigen
Zum ersten fehlerhaften Feld springen
Zum ersten fehlerhaften Feld springen
Die Continue-Schaltfläche sperren, bis Ihre eigene Prüfung besteht
Die Continue-Schaltfläche sperren, bis Ihre eigene Prüfung besteht
Einen Block nur bei einer bestimmten Antwort anzeigen
Einen Block nur bei einer bestimmten Antwort anzeigen
Aus Ihrer eigenen Schaltfläche heraus absenden
Aus Ihrer eigenen Schaltfläche heraus absenden
Die Antworten an Ihren eigenen Endpunkt senden
Die Antworten an Ihren eigenen Endpunkt senden
Alle Funktionen auf einen Blick
Ältere Funktionsnamen (weiterhin unterstützt)
Ältere Funktionsnamen (weiterhin unterstützt)
Frühere Versionen hatten je Abfragetyp eine eigene Funktion. Sie funktionieren unverändert weiter, sodass Sie bereits geschriebenen Code nicht anpassen müssen. Neuer Code sollte die vereinheitlichten Funktionen verwenden.