Ich habe eine randomisierte Vignette (Text+Bild), geschrieben in HTML-Code und
Ich möchte, dass die randomisierte Vignette in der gesamten Umfrage zu sehen ist,
über einen Hover-Over-Button oder ein Dropdown.
Der erste Teil, die Zufallsgenerierung und die Auswahl und Anzeige einer zufälligen Vignette, FUNKTIONIERT!
With this code:
if (value('VI04') == 1) {
text('VI02');
} elseif (value('VI04') == 2) {
text('VI05');
} elseif (value('VI04') == 3) {
text('VI06');
} elseif (value('VI04') == 4) {
text('VI07');}
Nun möchte ich den gleichen php-Code später in der Umfrage wieder verwenden, so dass
die Vignette wieder angezeigt wird. Aber dieses Mal möchte ich, dass die
Vignette nur in einem kleinen Fenster angezeigt wird, oder über einen Hoverover- oder
Dropdown-Schaltfläche zu sehen ist. Ich habe den folgenden php-Code, den ich in meinem Fragebogen verwenden möchte, aber er sagt, ich darf ihn nicht verwenden?!
Die Warnung die ich bekomme:
Warnung: Der PHP-Code enthält Funktionen oder PHP-Elemente, die nicht für die Verwendung im Fragebogen freigegeben wurden. Falls Sie der Meinung sind, dass die monierten Konstrukte ungefährlich sind, setzen Sie sich bitte mit dem Administrator in Kontakt!
<?php // PHP-Block öffnen (nicht schließen, damit SoSciSurvey nicht meckert)
// 1. Zufallsgruppe auslesen $gruppe = value('VI04'); ?>
<style> /* Container anfangs verstecken */ #toggle-content {
display: none;
border: 1px solid #ccc;
padding: 10px;
margin-top: 10px; } </style>
<!-- Button zum Ausklappen --> <button type="button" id="toggle-btn">Vignette anzeigen</button>
<!-- Hier wird je nach Gruppe dein bereits existierender PHP-Code ausgegeben --> <div id="toggle-content"> <?php // 2. Dein existierender Code: if ($gruppe == 1) {
text('VI02'); } elseif ($gruppe == 2) {
text('VI05'); } elseif ($gruppe == 3) {
text('VI06'); } elseif ($gruppe == 4) {
text('VI07'); } ?> </div>
<script> // Klick-Logik für den Button const toggleBtn = document.getElementById('toggle-btn'); const toggleContent = document.getElementById('toggle-content');
toggleBtn.addEventListener('click', () => {
if (toggleContent.style.display === 'none') {
toggleContent.style.display = 'block';
toggleBtn.textContent = 'Vignette ausblenden';
} else {
toggleContent.style.display = 'none';
toggleBtn.textContent = 'Vignette anzeigen';
} }); </script>