0 votes
in SoSci Survey (dt.) by s084654 (155 points)

Liebes SoSiSurvey-Team,

angelehnt an die Beschreibungen im Kapitel "Informationen per Mausklick einblenden" habe ich eine Erhebung konzipiert, in der ProbandInnen, Informationen ansehen können. Die in einer internen Variablen gespeicherten Informationen zeigen mir jetzt die Klick-Häufigkeit an - das ist mir auch wichtig:

info.registerInfo("infoButton1", "infoBox1", "infoClose1", "VA02_01"); 
info.registerInfo("infoButton2", "infoBox2", "infoClose2", "VA02_02"); 
info.registerInfo("infoButton3", "infoBox3", "infoClose3", "VA02_03"); 
info.registerInfo("infoButton4", "infoBox4", "infoClose4", "VA02_04"); 

Allerdings würde ich nun gerne noch die Reihenfolge der Klicks oder zumindest einen Zeitstempel pro Klick erheben. Haben Sie mir da eine Lösung?

Vielen Dank im Voraus

by SoSci Survey (322k points)
Ich vermute, dazu gehört noch ein JavaScript-Code, welcher das Objekt "info" definiert. Posten Sie diesen doch auch mal, dann können wir über Modifikationen sprechen.

2 Answers

0 votes
by SoSci Survey (322k points)
selected by s084654
 
Best answer

Vielen Dank für die schnelle Antwort, hier ist der Java-Code, der "info" definiert:

Und für .registerInfo() haben Sie Sie JavaScript-Code aus der Anleitung Informationen per Mausklick einblenden verwendet?

Für die Riehnfolge werden Sie erstmal noch eine interne Variable auf der Seite benötigen. Ich nenne diese mal "VA02_05".

Als nächstes müssen Sie im JavaScript für die Klassendefinition von infoButton() einen Parameter ergänzen, wo die Reihenfolge gespeichert werden soll und ein Array für die Nummern. Außerdem suchen wir das neue Feld gleich.

function infoButton(storeOrder) {
  var buttons = new Array();
  var boxes = new Array();
  var closes = new Array();
  var stores = new Array();
  var numbers = new Array();
  var orderInput = document.getElementById(storeOrder);

Und dann brauchen wir im registerInfo einen Parameter mit einer Nummer für den Knopf:

this.registerInfo = function(buttonID, boxID, closeID, storeID, number) {
  ...
  stores.push(store);
  numbers.push(number);

Und dann müssen wir eigentlich nur noch die Abfolge aufschreiben:

    if (stores[i]) {
      stores[i].value = parseInt(stores[i].value) + 1;
      orderInput.value = orderInput.value + numbers[i] + ", ";
    }

Zuletzt müssen Sie beim Initialisieren noch die Nummer und Variable eintragen.

var info = new infoButton("VA02_05");
info.registerInfo("infoButton1", "infoBox1", "infoClose1", "VA02_01", 1); 
info.registerInfo("infoButton2", "infoBox2", "infoClose2", "VA02_02", 2); 
info.registerInfo("infoButton3", "infoBox3", "infoClose3", "VA02_03", 3); 
info.registerInfo("infoButton4", "infoBox4", "infoClose4", "VA02_04", 4); 

Sollte das nicht auf Anhieb funktionieren, posten Sie doch bitte einen Pretest-Link direkt (!) zur betroffenen Seite zur Fehlersuche.

by s084654 (155 points)
Vielen herzlichen Dank, es funktioniert!
by SoSci Survey (322k points)
Gerne. Das ist eine (!) mögliche Lösung ... bitte stellen Sie sicher, dass das Datenformat für Ihre Auswertung geeignet ist.
0 votes
by s084654 (155 points)

Vielen Dank für die schnelle Antwort, hier ist der Java-Code, der "info" definiert:

<!-- Der JavaScript-Code -->


<!--
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";
}
//-->

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

...