Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtige Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

Nachladen ..

Mehr
1 Jahr 1 Monat her #10482 von prffrost
Nachladen .. wurde erstellt von prffrost
da das laden oder bedingte anzeigen des Feldes so nich möglich ist blende Ich es mit einem Script aus ...
das funktioniert auch soweit ganz gut ..

aber was es nicht macht ist es nach auswahl einer selectsql anzeigen ...

vielleich hat jemand eine Idee wie Ich es schaffe das der Wert nachlädt und das Feld ID 9401 anzeigt
Code:
document.addEventListener("DOMContentLoaded", function() {     console.log('Script loaded');     const fieldsToHide = ['9401', '23', '24', '25', '26']; // IDs der Felder, die standardmäßig ausgeblendet werden     const fieldToShowId = '9360'; // ID des Felds, dessen Wert überprüft wird, um das andere Feld einzublenden     // Funktion zum Ausblenden eines Felds     const hideField = function(fieldId) {         const elementToHide = document.getElementById('field' + fieldId);         const labelToHide = document.querySelector(`label[for='field${fieldId}']`);         if (elementToHide) {             elementToHide.style.display = 'none';             console.log(`Element with ID field${fieldId} successfully hidden.`);         } else {             console.log(`Element with ID field${fieldId} not found.`);         }         if (labelToHide) {             labelToHide.style.display = 'none';             console.log(`Label for element with ID field${fieldId} successfully hidden.`);         } else {             console.log(`Label for element with ID field${fieldId} not found.`);         }     };     // Funktion zum Einblenden eines Felds     const showField = function(fieldId) {         const elementToShow = document.getElementById('field' + fieldId);         const labelToShow = document.querySelector(`label[for='field${fieldId}']`);         if (elementToShow) {             elementToShow.style.display = ''; // Zeigt das Element wieder an (nutzt standardmäßig display: block oder inline)             console.log(`Element with ID field${fieldId} successfully shown.`);         } else {             console.log(`Element with ID field${fieldId} not found.`);         }         if (labelToShow) {             labelToShow.style.display = ''; // Zeigt das Label wieder an             console.log(`Label for element with ID field${fieldId} successfully shown.`);         } else {             console.log(`Label for element with ID field${fieldId} not found.`);         }     };     // Initial Felder ausblenden     fieldsToHide.forEach(function(fieldId) {         hideField(fieldId);     });     // Event Listener für Änderungen im Feld mit der ID 9360 hinzufügen     const field9360 = document.getElementById('field9360');     if (field9360) {         field9360.addEventListener('change', function() {             const selectedValue = field9360.value.trim();             if (selectedValue === 'SAR 800') {                 fieldsToHide.forEach(function(fieldId) {                     showField(fieldId);                 });             } else {                 fieldsToHide.forEach(function(fieldId) {                     hideField(fieldId);                 });             }         });     } else {         console.log('Field with ID 9360 not found.');     }     // Event Listener für Nachladen von Elementen     document.addEventListener('visformsAfterLoadElement', function(event) {         const loadedFieldId = event.detail.fieldId;         if (loadedFieldId === fieldToShowId || fieldsToHide.includes(loadedFieldId)) {             // Hier wird die Sichtbarkeit der entsprechenden Felder neu geprüft             const selectedValue = field9360.value.trim(); // Wert des Trigger-Felds erneut prüfen             if (selectedValue === 'SAR 800') {                 fieldsToHide.forEach(function(fieldId) {                     showField(fieldId);                 });             } else {                 fieldsToHide.forEach(function(fieldId) {                     hideField(fieldId);                 });             }         }     }); });


 

Mehr
1 Jahr 1 Monat her - 1 Jahr 1 Monat her #10504 von Administrator IV
Administrator IV antwortete auf Nachladen ..
Hallo Wolfgang,

ohne jetzt auf die Details deiner Anwendung einzugehen, hier kurz die Beschreibung der Situation seitens Visforms.

Definition:
- SQL-Feld = Lädt Daten via SQL dynamisch nach und kann durch die Änderung des Wertes von Trigger-Feldern dazu gebracht werden.
- Trigger-Feld = Stößt bei Änderung seines Wertes ein Nachladen von SQL-Feldern an.

Für das Nachladen der SQL-Felder sind zwei Events beteiligt: 'reloadsqloptions' und 'change'.

Event 'reloadsqloptions':
Wird nur zum Anstoß der ersten Initialisierung eines SQL-Feldes vom SQL-Feld einmalig gefeuert.
Ist für dich hier also nicht relevant.

Event 'change':
Wird von Trigger-Feld und SQL-Feld gefeuert.
- Trigger-Feld feuert: nach Änderung seines Wertes.
Der Handler kümmert sich um das Nachladen des SQL-Feldes.
- SQL-Feld feuert: nach dem Abschluss seines Nachladens.

Allein durch die Nutzung des Events 'change' kannst du daher:
- Auf Änderungen von SQL-Feld und Trigger-Feld reagieren (auf gefeuertes Event reagieren).
- Das Nachladen eines SQL-Feldes anstoßen (das Event auf eines seiner Trigger-Feld senden).

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 5:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 4.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 5:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 4.
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 1 Jahr 1 Monat her von Administrator IV.

Mehr
1 Jahr 1 Monat her #10505 von prffrost
prffrost antwortete auf Nachladen ..
habe es schon gelöst ..

gruß Wolfgang

Mehr
1 Jahr 1 Monat her #10506 von Administrator IV
Administrator IV antwortete auf Nachladen ..
Hallo Wolfgang,

noch ein grundsätzlicher Hinweis, der für dich wichtig werden könnte.

Wenn du für deine Initialisierung auf das JavaScript Event 'DOMContentLoaded' reagierst, ist das Dokument vollständig geladen seitens des Web-Broweser.
Das Formular ist zu diesem Zeitpunkt aber noch nicht seitens Visforms initialisiert, diese startet dann erst.
Das ist für viele Situationen ausreichend.

Wenn du aber deine Initialisierung erst nach der Initialisierung von Visforms ablaufen lassen möchtest, musst du ein Visforms Event verwenden.
Das ist etwa notwendig, wenn du Werte in Felder setzen oder verändern möchtest.

Es gibt dazu ein Beispiel in der Dokumentation.
Das Alter aufgrund des Geburtsdatums berechnen und anzeigen:
docs.joomla-5.visforms.vi-solutions.de/d...rechnen-und-anzeigen

Zitat:
Themen: Code erst dann ablaufen lassen, nachdem das Formular seitens Visforms initialisiert wurde.
Code:
jQuery('.visform').bind('visformsInitialised', function() {     // called after form is initialized     ... });

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 5:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 4.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 5:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 4.
Bitte immer nur 1 Frage pro Thema stellen :-).
Folgende Benutzer bedankten sich: prffrost

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum