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);