Dynforms v3
Einbindung
Container an der gewünschten Stelle im <body> einfügen:
<div
id="###DynformForm###"
data-dynform_code="###DynformCode###"
data-widget-id="###ID###"
>
</div>
- data-widget-id: Widget-id als eindeutiger Schlüssel zur Ausgabe der korrekten Daten
Script sollte nach dem Container des Formulars auf der Webseite eingefügt werden:
<script
id="BN-dynform-v3-js"
src="https://admin.ehotelier.it/js/dynform-v3/v3.0/dynform.js"
defer
>
</script>
<script src="https://referrer.bnamic.com/referrer/referrer-v2.js" async></script>
<script>
var configRequest = {
preset: '###DynformCode###/default',
version: '3.0',
// Sprache der Seite; Pflichtfeld; mögliche Werte: de/it/en
lang: 'de'
};
document
.querySelector("#BN-dynform-v3-js")
.addEventListener("load", () => {
window.BN.DynFormsV3.init(
document.querySelector('####DynformForm###'),
configRequest
);
});
</script>
URL-Parameter
Liste der URL-Parameter, mit denen man gewisse Felder der Dynforms v3 setzen kann.
Beispiel: www.yourWebsite.com?fromdate=09.11.2024&todate=10.12.2024
Anreise-Datum
Mögliche Parameter
- fromdate, arrival, BN_fromDate
Abreise-Datum
Mögliche Parameter
- todate, departure, BN_toDate
Events
Liste der Events, welche von den Dynforms v3 gefeuert werden. Um einen Eventlistener zu registrieren muss man den Namen des Events plus die ID des Dynform-Containers in Klammern '[]' angeben, zum Beispiel 'submitSuccessEvent[BN-dynform-v3--request]'.
Für weitere Informationen wie Events funktionieren, siehe https://developer.mozilla.org/en-US/docs/Web/Events/Creating_and_triggering_events
window.addEventListener('createdEvent[BN-dynform-v3--request]', function (event) {
// Payload des jeweiligen Events, siehe unten
console.log(event.detail)
});
Es ist wichtig die Container-ID im Namen anzugeben um zu spezifizieren auf welches Formular der Eventlistener registriert werden soll. Es könnte ja sein, dass mehrere Formulare auf einer Seite verbaut sind.
- createdEvent: Feuert nach Erstellung des Formulars
- submitSuccessEvent: Feuert nach erfolgreicher Anfrage
- submitFailedEvent: Feuert nach fehlgeschlagener Anfrage
- beforeSubmitEvent: Feuert bevor die Anfrage gesendet wird
- roomsLoadedEvent: Feuert nach dem Laden der Zimmer
- hotelsLoadedEvent: Feuert nach dem Laden der Hotels
- offerLoadedEvent: Feuert nach dem Laden der Angebote
- additionalsLoadedEvent: Feuert nach dem Laden der Zusatzleistungen
- segmentsLoadedEvent: Feuert nach dem Laden der Interessen/Segmente
// Feuert nach Erstellung des Formulars
window.addEventListener('createdEvent[BN-dynform-v3--request]', function (event) {
console.log('Formular erstellt', event)
});
// Feuert nach erfolgreicher Anfrage. Ist meist nur hilfreich wenn keine Dankeseite existiert
// und somit kein redirect ausgelöst wird.
// Unter `event.detail.formvalues` findet man sämtliche eingegebenen Daten des Benutzers
window.addEventListener('submitSuccessEvent[BN-dynform-v3--request]', function (event) {
console.log('Das Formular wurde erfolgreich versendet', event.detail.formvalues)
});
// Feuert nach fehlgeschlagener Anfrage.
// Unter `event.detail.error` findet man die Fehlermeldung.
window.addEventListener('submitFailedEvent[BN-dynform-v3--request]', function (event) {
console.log('Das Formular konnte nicht abgeschickt werden', event.detail.error)
});
// Feuert bevor die Anfrage gesendet wird.
window.addEventListener('beforeSubmitEvent[BN-dynform-v3--request]', function (event) {
console.log('Der Absenden Button wurde geklickt aber nocht nicht versendet', event)
});
// Feuert nach dem Laden der Zimmer.
// Unter `event.detail.rooms` findet man das Zimmerobjekt.
window.addEventListener('roomsLoadedEvent[BN-dynform-v3--request]', function (event) {
console.log('Die Zimmer wurden geladen', event.detail.rooms)
});
// Feuert nach dem Laden der Hotels.
// Unter `event.detail.hotels` findet man das Hotelobjekt.
window.addEventListener('hotelsLoadedEvent[BN-dynform-v3--request]', function (event) {
console.log('Die Hotels wurden geladen', event.detail.hotels)
});
// Feuert nach dem Laden des Angebots.
// Unter `event.detail.offer` findet man das Angebotsobjekt.
window.addEventListener('offerLoadedEvent[BN-dynform-v3--request]', function (event) {
console.log('Das Angebot wurde geladen', event.detail.offer)
});
// Feuert nach dem Laden der Zusatzleistungen.
// Unter `event.detail.additionals` findet man das Zusatzleistungenobjekt.
window.addEventListener('additionalsLoadedEvent[BN-dynform-v3--request]', function (event) {
console.log('Die Zusatzleistungen wurden geladen', event.detail.additionals)
});
// Feuert nach dem Laden der Interessen/Segmente.
// Unter `event.detail.segments` findet man das Interessenobjekt.
window.addEventListener('segmentsLoadedEvent[BN-dynform-v3--request]', function (event) {
console.log('Die Interessen wurden geladen', event.detail.segments)
});