0 votes
in SoSci Survey (dt.) by s085794 (180 points)

Lieber Support,

wir möchten einen Fragentext wiederholen, ohne dass die entsprechenden Antwortoptionen gezeigt werden.

Dafür soll nur der Fragetext in eine Tabelle eingefügt werden. Leider wird der Text immer außerhalb der Tabelle angezeigt.

Wo liegt der Fehler?

Den Code habe ich als Minimalbeispiel eingefügt. Bis auf eine Frage MC01 sollte es keine Anforderung ans Beispiel geben

Danke für die Aufklärung & beste Grüße!


replace('%Option1%', 'MC01', 'response');

if (value('MC01') == 1) {
    $feedback1 = ''; // Feedback bleibt leer, wenn MC01 gleich 1 ist
} elseif (value('MC01') == 2) {
    $feedback1 = 'Feedback 2'; // Feedback, wenn MC01 gleich 2 ist
} elseif (value('MC01') == 3) {
    $feedback1 = 'Feedback 3'; // Feedback, wenn MC01 gleich 3 ist
}

$tableHtml = '
<table>
<colgroup>
    <col width="25%">
    <col width="25%">
    <col width="25%">
    <col width="25%">
</colgroup>
<tr>
    <td><b>Frage</b></td>
    <td><b>Ihre Antwort</b></td>
    <td><b>Korrekte Antwort</b></td>
    <td><b>Hinweis</b></td>
</tr>
<tr>
    <td>' . question('MC01', 'show-items=no', 'number=no') . '</td>
    <td>%Option1%</td>
    <td>' . getItemtext('MC01_01') . '</td>
    <td>' . $feedback1 . '</td>
</table>';

$answerHtml = '<span style="color: #00CD66">%Option1%</span>'; // Antwort korrekt
$wrongAnswerHtml = '<span style="color: #FF0000">%Option1%</span>'; // Antwort falsch

if (value('MC01') == 1) {
    $htmlOutput = str_replace('%Option1%', $answerHtml, $tableHtml);
} else {
    $htmlOutput = str_replace('%Option1%', $wrongAnswerHtml, $tableHtml);
}

html($htmlOutput);

1 Answer

0 votes
by SoSci Survey (305k points)

Die Funktion question() liefert keinen String zurück, sondern bindet die Frage in die Seite ein.

<td>' . question('MC01', 'show-items=no', 'number=no') . '</td>

Verwenden SIe stattdessen getItemtext()

<td>' . getItemtext('MC01', 'question') . '</td>
by s085794 (180 points)
Super, diese Funktion habe ich gesucht. Jetzt klappt alles.

Danke für die Hilfe!

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

...