Sehr geehrter Sosci Support,
Ich habe innerhalb eines Fragebogens einige Lerneinheiten (Seiten) erstellt, auf denen der Proband mittels Buttons hin und herspringen kann, so oft er will. Wenn alle Lerneinheiten mindestens einmal angeschaut wurden, erscheint auf der Übersichtsseite ein Button zum Abschluss des Lernens, das funktioniert über Counter soweit einwandfrei. :-)
html(
'<div style="text-align: center; margin: 2em 0">'.
buttonToPage('Uber', 'Zur Übersicht').
' '.
buttonToPage('L1', 'Lerneinheit 1').
' '.
buttonToPage('L2', 'Lerneinheit 2').
' '.
buttonToPage('L3', 'Lerneinheit 3').
' '.
buttonToPage('L4', 'Lerneinheit 4').
' '.
buttonToPage('L5', 'Lerneinheit 5').
' '.
buttonToPage('L6', 'Lerneinheit 6').
'</div>'
);
option('progress', 'no');
option('nextbutton', false);
$currentcountL1 = value('IV01_01'); // Zuweisen der Datensatz Variable IV01 (CounterL1) zur Variable $currentcountL1
$currentcountL1 = (int)$currentcountL1; // Sicherstellen, dass es eine Zahl ist
$newcountL1 = $currentcountL1 + 1; // Zahl um 1 erhöhen
put('IV01_01', $newcountL1); //Neuen Wert abspeichern
Nun möchte ich zusätzlich gerne wissen, wie lange der Nutzer (in Summe) auf jeder Seite verweilt hat.
In der Hilfe und im Forum finde ich verschiedene Ansätze, die jedoch alle auf einen Timer/Countdown hinauslaufen.
Aufgrund der Foren- & Hilfeseiten, die ich mir bisher durchgelesen habe, ist mein Gedanke zur Umsetzung nun:
$totaltime = value('IV11_01'); // Zuweisen der Datensatz Variable IV11 (LernzeitL1) zur Variable $totaltime
$timeenter = time(); // Die momentane Zeit beim betreten der Seite speichern
//Beim Klick auf einen der Buttons Verweilzeit berechnen, aufaddieren und abspeichern
$timeleave = time(); // Die Zeit beim Verlassen der Seite ermitteln (klick auf Button zu einer anderen Lerneinheit)
$totaltime = $totaltime + $timeleave - $timeenter; //Verweildauer berechnen und zur bisherigen Zeit addieren
put('IV11_01', $totaltime); //Neue Zeit abspeichern
Meine Frage ist nun: wie kann ich den unteren Teil des Codes (sofern er denn richtig ist?) beim Klick auf einen der Buttons auslösen?
Vielen Dank vorab und viele Grüße
Axel Teichmann