0 votes
ago in SoSci Survey (dt.) by s356440 (110 points)

Ich habe in meiner Befragung anhand eines HTML- und JavaScript Codes einen anklickbaren Info-Button eingebunden. Dieser Info-Button gibt den Probanden zusätzliche Informationen und unterscheidet sich je nach experimenteller Zelle (also je nach Randomisierung anhand eines Zufallsgenerators).

Nun möchte ich nachverfolgen, ob dieser Info-Button von den Probanden in meinen jeweiligen Zellen (3 Zellen insgesamt) angeklickt wird und habe dafür eine Interne Variable mit den Kennungen IV01_01, IV01_02 und IV01_03 aufgesetzt.

Dank eines beispielhaften Codes auf eurer Anleitungs-Seite (Link) habe ich bereits folgenden Code für das Anzeigen des Info-Buttons und das Erfassens des Anklickens angelegt:

    <!-- Zunächst der Knopf zum Anzeigen der Info -->
<button type="button" onclick="buttonShow()">(i) Mehr Infos zur Prüfung der Kundenbewertungen</button>
 
<!-- Und dann die Info-Box -->
<div id="infoBox" style="width: 400px; padding: 5px; background-color: white; border: 2px solid #CCCCCC">
 <p>  Es findet keine Echtheitsprüfung der Kundenbewertungen statt. </p>
Damit ist nicht sichergestellt, dass die dargestellten Bewertungen von Verbrauchern stammen, welche die bewerteten Produkte tatsächlich erworben haben.
  <p style="text-align: center; margin-top: 20px">
    <button type="button" onclick="buttonHide()">Schließen</button>
  </p>
</div>
 
<!-- Der JavaScript-Code -->
<script type="text/javascript">
<!--
var info = document.getElementById("infoBox");
info.style.display = "none"; // Box ausblenden
info.style.position = "absolute";
info.style.zIndex = 999;
// Entweder fix auf der Seite platziert
// info.style.left = "50px";
// info.style.top = "100px";
// Oder ein definiertes Stückchen unter dem Knopf
info.style.marginTop = "10px";
 
function buttonShow() {
  // Infobox anzeigen
  info.style.display = "";
}
function buttonHide() {
  // Infobox wieder ausblenden
  info.style.display = "none";
}

var info = document.getElementById("infoBox");
var intVar = document.getElementById("IV01_01"); // Hier muss die Kennung der internen Variable eingetragen werden
info.style.display = "none"; // Box ausblenden
intVar.value = "1";
 
function buttonShow() {
  // Infobox anzeigen
  info.style.display = "";
  // Abspeichern, dass der Button angeklickt wurde
  intVar.value = "2";
}
function buttonHide() {
  // Infobox wieder ausblenden
  info.style.display = "none";
}
//-->
</script>

Ich frage mich nun, wie ich sicherstellen kann, dass diese interne Variable tatsächlich erfasst, ob der Info-Button angeklickt wurde. Wird das erst beim durchführen eines Pre-Tests ersichtlich?

Außerdem würde ich gerne erfassen, wie lange der Info-Button bei den Probanden ausgeklappt war, konnte hierfür allerdings keine Anleitung aus euren Websiten finden. Wie könnte ich eine entsprechende Zeiterfassung in meinen Code integrieren?

1 Answer

0 votes
ago by SoSci Survey (366k points)

Vorab eine kleine Anmerkung: Sie definieren die Funktionen buttonShow() und buttonHide() in Ihrem Code gerade doppelt - die obere Version sollten Sie entfernen.

wie ich sicherstellen kann, dass diese interne Variable tatsächlich erfasst, ob der Info-Button angeklickt wurde.

Im einfachsten Fall machen Sie die Variable zum Testen sichtbar:

var intVar = document.getElementById("IV01_01");
// Neue Zeile ergänzen
intVar.setAttribute("type", "text");

Sie sehen es nach dem Klick auf "Weiter" aber auch in der Debug-Information, denn Sie die Seite bzw. den Fragebogen im Debug-Modus starten.

Außerdem würde ich gerne erfassen, wie lange der Info-Button bei den Probanden ausgeklappt war

Dafür gibt es unterschiedliche Lösungen. Im Endeffekt funktioniert es so, dass Sie sich von JavaScript bei jedem Klick ie Zeit geben lassen, sich die Zeit beim Öffnen in einer JS-Variable "merken" und beim Schließen dann die Zeitdifferenz in einer internen Variable speichern.

SoSci Survey bringt die Bibliothek LatencyTimer() mit. Sehen Sie sich in der Anleitung einmal den Abschnitt "Sonstige Ereignisse aufzeichnen" an. Im Idealfall können Sie das direkt auf Ihren Fall übertragen.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...