Tracking, ob und wie oft die Alternativoptionen eingeblendet wurden (interne Variable dazu ist angelegt: [A112])
Ziehen Sie die Frage A112 bitte auf die Fragebogen-Seite.
Die Kennung der internen Variable lautet höchstwahrscheinlich A112_01.
Jetzt müssen wir also nur noch zählen, wannn immer das Kreuzchen gesetzt wird. Dafür erweitern wir Ihre JavaScript-Funktion toogle()
.
function toogle() {
if (optionA.checked) {
countClick("A112_01");
addElement1.style.display = ""
// u.s.w.
Die Funktion countClick()
müssen wir natürlich darunter noch definieren.
function countClick(varID) {
var input = document.getElementById(varID);
var val = parseInt(input.value);
if (isNaN(val)) {
val = 0;
}
val = val + 1;
input.value = val;
}
Und dann wäre es noch geschickt zu speichern, dass JavaScript überhaupt aktiv ist:
document.getElementById("A112_01").value = "0";
Wenn JavaScript inaktiv ist, bleibt die Variable leer, sonst steht eine 0 oder eine andere Zahl darin.
Wenn es nicht gleich klappt, sehen Sie bitte mal in die JavaScript-Fehlerkonsole Ihres Browsers und prüfen Sie ggf. wo ein Fehler im Code moniert wird.
Randomisierung: ist es möglich, dass die ersten sechs Auswahloptionen (ohne die zusätzlichen drei) randomisiert angezeigt werden und die drei zusätzlichen Optionen beim Einblenden 'unter' diesen erscheinen (in einer Zeile), also nicht mit in die Randomisierung aufgenommen werden?
Natürlich. Wenn Sie z.B. 12+3 Optionen hätten, könnte der PHP-Code wie folgt aussehen:
if (!isset($options)) {
$options = [1,2,3,4,5,6,7,8,9,10,11,12];
shuffle($options);
registerVariable($options);
}
$addOn = [13,14,15];
question('A101', array_merge(array_slice($options, 0, 6), $addOn));
Nicht ganz trivial auf den ersten Blick, aber versuchen Sie trotzdem mal, diesen Code nachzuvollziehen.