0 votes
in SoSci Survey (dt.) by s086587 (145 points)
edited by s086587

Hallo,
ich möchte gerne das Item in meiner Kontrollfrage markieren, das fälschlicherweise angeklickt wurde.

Ich dachte dazu eignet sich markFail. Die Frage kann ich auch als falsch/rot markieren mit dem Befehl markFail('CO09'), aber das Item leider nicht. Dann erhalte ich den folgenden Fehler: Die Kennung CO09_01, die in der Funktion markFail() verwendet wurde, ist keine gültige Variablen-Kennung.

Ich habe die Kennung für die Items aus meiner Frage genommen. Kann man markFail nicht zur Markierung von Items einsetzen?

Mein Code sieht folgendermaßen aus:

$current_value1 = value('CO10_01');
$error=false;
// Check Frage 1
if (in_array(value('CO09'), [1, 3, 4])) {

$new_value1 = $current_value1 + 1;
put('CO10_01', $new_value1);
//markFail('CO09_01');
text('CO09_Error-Item' . value('CO09'));
$error=true;

}

// Check Frage 2
$current_value2 = value('CO04_01');

if (in_array(value('CO06'), [1, 3])) {

$new_value2 = $current_value2 + 1;
put('CO04_01', $new_value2);

// markFail('CO06_0' . value('CO06'));

text('CO06_Error-Item' . value('CO06'));
$error=true;

}

if($error==true){

repeatPage();

}

Danke und viele Grüße

by SoSci Survey (309k points)
Was für ein Fragetyp ist CO09 denn?
by s086587 (145 points)
Es handelt sich um eine Auswahlfrage :)

1 Answer

0 votes
by SoSci Survey (309k points)

Eine einfache Auswahlfrage hat nur eine Variable - und markFail() erwartet eine Variablenkennung. Entsprechend haben die einzelnen Optionen hier keine Variablenkennungen.

In diesem Fall scheint es mir sinnvoller, nicht die Frage erneut anzuzeigen, sondern mit ein wenig HTML-Code die Optionen anzuzeigen, und farblich zu markieren. Also z.B.

$frage = 'CO06';
$korrekt = 3;
foreach (getItems($frage, 'all') as $itemID) {
  $text = getItemtext($frage, $itemID);
  if ($itemID == $korrekt) {
    html('<p style="color: green">'.$text.'</p>');
  } elseif ($itemID == value($frage)) {
    html('<p style="text-decoration: line-through">'.$text.'</p>');
  } else {
     html('<p style="color: grey">'.$text.'</p>');
  }
}
by s086587 (145 points)
Danke für die Antwort und die Implementierung!

In meinem Anwendungsfall passt das leider nicht so gut, denn der/die TeilnehmerInnen sollen eigentlich nicht die richtige Antwort sehen.
Jeder Teilnehmer bekommt für jede Kontrollfrage zwei Versuche. Wenn die Frage dann noch immer falsch beantwortet ist, wird die Person aus der Befragung geworfen. Entsprechend wäre ein visuelle Kennung in der Frage schön, damit die Leute ihre Fehler nicht übersehen.
Ist das dann nicht möglich?

Danke und viele Grüße
by SoSci Survey (309k points)
Die genaue Umsetzung hängt davon ab, welche Darstellung-Einstellungen Sie für Ihre Frage gewählt haben. Aber im Prinzip können Sie per CSS einfach einzelne Zeilen einer Auswahl nach Belieben formatieren:

pageCSS('
  #CO06_01_container {
    color: #CC0000;
    font-weight: bold;
  }
  #CO06_01_container label {
    text-decoration: line-through;
  }
');
by s086587 (145 points)
Vielen Dank für die ULTRAschnelle Antwort =)

Ich glaube das sollte funktionieren! Danke schön!

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

...