Zur Druckroutine:
1. Füge in den Fragetext der Ergebnisseite folgendes javascript ein (im Quellcode-Modus)
Code:
<script>
function printData(elem)
{
var divToPrint=document.getElementById(elem);
newWin= window.open("");
newWin.document.write(divToPrint.outerHTML);
newWin.print();
newWin.close();
}
</script>
2. Umgebe den gesamten Tabellenteil mit einem <div>-Element
Oberhalb der Tabellen
<div id="printResult" style="width:auto;">
und am Ende der Abschluss mit
</div>
3. Darunter kommt dann der eigentliche Aufruf mit
<input class="btn btn-primary" id="btn" onclick="printData('printResult');" type="button" value=" Drucken " />
4. Jetzt musst Du natürlich noch dafür sorgen, dass nur die Ergebnisse der gemachten Tests gezeigt werden.
Ich habe es hier dadurch gelöst, dass ich sage "Wenn der Test nicht gemacht wurde (r0010_SQ00X!="Y"), dann zeige die Tabelle nicht an (display:none)
Ähnlich beim Text.
Dann könnte das Skelett des Tabellenteils der Ergebnisseite so aussehen:
Code:
<div id="printResult" style="width:auto;">
<table style="{if(r0010_SQ001!='Y','display:none;','')}width:100%;border:1px solid black;border-collapse:collapse">
...
</table>
<p> </p>
{if(r0010_SQ001!='Y',"",if(arrResult_Y001_X001<2, "Das ist ja katastrophal", if(arrResult_Y001_X001<3.5, "Geht gerade noch, aber ziemlich unterdurchschnittlich",if(arrResult_Y001_X001<4.5, "Nicht übel, sogar ganz gut","Super toll"))))}
<p> </p>
<p> </p>
<table style="{if(r0010_SQ002!='Y','display:none;','')}width:100%;border:1px solid black;border-collapse:collapse">
...
</table>
<p> </p>
Wieder der Text
<p> </p>
<p> </p>
<table style="{if(r0010_SQ003!='Y','display:none;','')}width:100%;border:1px solid black;border-collapse:collapse">
...
</table>
<p> </p>
Wieder der Text
<p> </p>
<p> </p>
<table style="{if(r0010_SQ004!='Y','display:none;','')}width:100%;border:1px solid black;border-collapse:collapse">
...
</table>
<p> </p>
Wieder der Text
<p> </p>
<p> </p>
</div>
<p> </p>
<input class="btn btn-primary" id="btn" onclick="printData('printResult');" type="button" value=" Drucken " />
Und dies wäre das Ergebnis
und der Ausdruck
Es gibt bei "Stackoverflow" eine sehr große Anzahl von Ideen hierzu. Diese erschien mir am kürzesten und einfachsten.
Ich habe die Frage einmal hier angehängt. Es geht nur um die Struktur; die Tabelle ist einfach zweimal kopiert.
Und noch einmal zur Rangreihe.
Da kannst Du doch nur die vom Teilnehmer gewählte Reihenfolge anzeigen; oder wären hier noch bestimmte Berechnungen zu machen, dass ein Teilnehmer mehr Punkte bekommt, wenn er Item 2 unter die ersten drei gesetzt hat, oder so?
Ansonsten sind ja hier alle Properties, die Du nutzen kannst aufgelistet.
www.limesurvey.org/manual/ExpressionScri...#Access_to_variables
Zur Auflistung wäre es dann nur
{tec1105_1.shown}
{tec1105_2.shown}
...
Mehr fällt mir dazu nicht ein, bis auf einige Verbesserungen der ersten Seite
a. Länge der Eingabefelder
b. Validierung einer eingegebenen E-Mail-Adresse, Regular Expression [url]
www.limesurvey.org/manual/Using_regular_...ons#Email_validation
[/url]
c. List(radio) statt Drop-downs. Dies sind so wenige Antwortoptionen, dass das zweimalige Klicken wirklich überflüssig ist. Verteile die Items auf zwei Spalten
Besonders bei der Geschlechtsfrage. Hier gibt es ja auch die bootstrap-button-Variante
d. Aber bei der Länderfrage wäre ein Drop-down gut, oder ein "autocomplete"; ansonsten bekommst Du tausend verschiedene Schreibweisen eines Landes.
e. Alter nicht mit "kurzer Text" abfragen, sondern mit "Zahleingabe". Jetzt kann ich auch "qq" reinschreiben.
f. Antwortoptionen so, dass die Ziffern alle unten stehen
Dann kann es so aussehen.
Viel Erfolg
Joffm