Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Option "Keine Antwort" + eigene Labels

  • oleroe
  • oleroe's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 7 months ago #204704 by oleroe
Moin,

ich verzweifle gerade etwas sehr über mehreren Problemen, bei denen ich auch mit Googlen nicht so wirklich befriedigend voran komme. Vielleicht könnt ihr mir weiterhelfen:

1. "Keine Antwort"-Option:

Ich habe z.B. eine Frage, die als Antwort eine Zahl benötigt. Gelöst als "Numerical input". Dazu soll aber die Option bestehen, "Keine Antwort" abzugeben, und zwar explizit per Checkbox, entsprechend beschriftetem Link o.ä.. Googlen bringt mir mehrere Jahre alte Threads aus diesem Forum, die in augenscheinlich aufwändigen JavaScript/CSS-Selfmade-Lösungen für diese eher alltägliche Aufgabe münden. Ist das immer noch aktuell?

2. Benutzerdefinierte Beschriftung von Eingabefeldern

Ich habe eine Frage, zu der ich Fünferskala als Antwort benötige. Der Typ "5 Point choice" wäre ideal. Den kann ich aber augenscheinlich nicht selbst beschriften. Vorgeschlagener Workaround ist der Typ "List (radio)", der die Auswahlmöglichkeiten dann aber vertikal darstellt.
a) Muss ich mit eigenem CSS ansetzen, um das Ding horizontal zu bekommen?
b) Verstehe ich das Konzept hier richtig, dass ich bei diversen der vordefinierten Antwortmöglichkeiten keine Chance habe, die Beschriftung selbst zu setzen und mir stattdessen mehr oder minder kreative Workarounds dafür ausdenken muss?

Danke! ;-)

Viele Grüße
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 7 months ago #204705 by Joffm
Replied by Joffm on topic Option "Keine Antwort" + eigene Labels
Hallo,

Generell: Man sagt zwar, dass Google manchmal Dein Freund ist, bei Problemen mit LimeSurvey aber sicherlich nicht.
Hierzu ist das Forum die nahezu einzige Informationsquelle (sei froh, dass es ein so tolles Forum gibt; das ist nicht alltäglich) außer vielleicht noch Stackoverflow.

Zu Deinen Fragen
1.
Dazu gibt es ein Plugin "checkboxForText".
Code:
https://gitlab.com/SondagesPro/QuestionSettingsType/checkboxForText

Zusätzlich benötigst Du noch das Plugin " toolsSmartDomDocument"
Code:
https://gitlab.com/SondagesPro/coreAndTools?page=2


2. Es gibt eine Einstellung dazu "Anzahl Spalten".

Und zum Schluss:

dass ich bei diversen der vordefinierten Antwortmöglichkeiten keine Chance habe

Genau, daher sind sie vordefiniert. Ich sage oft "Etwas für die ganz Faulen".
Im Ernst: Viele dieser Fragetypen stammen noch aus grauer Vorzeit. Heute haben wir mit dem Konzept der Fragen-Themes weitaus bessere Möglichkeiten.
Außerdem ist die von Dir erwähnte 5-Punkte Skala auch eher dazu gedacht, andere Arten der darstellung zu ermöglichen, wie "Star-Rating", "Emojis", usw.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • oleroe
  • oleroe's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 7 months ago - 3 years 7 months ago #204710 by oleroe
Replied by oleroe on topic Option "Keine Antwort" + eigene Labels
Danke für deine Antwort!

Zu 1): Wir haben LimeSurvey hier als Installation von der Uni. Sehe ich das richtig, dass ich vermutlich keine eigenen Plugins als normaler User installieren kann? Ich gehe davon aus, dass ich das Rechenzentrum auch nicht ohne weiteres zum Installieren bewegen können werde. Irgendwelche Alternativen, um das gewünschte Ergebnis zu bekommen? Out of the Box geht es definitiv gar nicht (simpel)?

Zu 2): Das habe ich auch in der Hilfe gefunden ( manual.limesurvey.org/Question_type_-_List_%28Radio%20 - ist es das?). Aber ich sehe die Einstellungen nicht. Ich bin im Question Editor, ich habe rechts die "General Settings" und die Karteireiter unten durchgesehen. Wenn ich auf den "Question Type"-Button klicke, kann ich nur die Typen selbst auswählen, es gibt keine Settings-Option dazu. Und dann bin ich auch schon wieder am Ende der für mich intuitiv findbaren Orte für die Settings. "display_columns" o.ä. gibt es leider nirgends Was übersehe ich? ;-) Oder wird das global für den ganzen Question Type gesetzt (wo?)?
Last edit: 3 years 7 months ago by oleroe.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 7 months ago - 3 years 7 months ago #204713 by Joffm
Replied by Joffm on topic Option "Keine Antwort" + eigene Labels
Daher sollte man auch immer alle Infos liefern, z.B. auch die Version.
Zu 1.
Das wird wohl so sein. Uni-Admins sind meistens - aus gutem Grund - recht restriktiv.

Out of the Box geht es definitiv gar nicht (simpel)?

Natürlich geht es "simpel". Erstelle die Frage als "Nicht-Pflichtfrage". Dann sollen Sie halt leer lassen, wenn sie keine Antwort geben wollen.

Es gibt aber eine javascript-Lösung (hier spielen wieder Deine Rechte eine Rolle)
Irgendwie war es eine Textmatrix mit einer zusätzlichen Spalte für "Keine Angabe"
Muss ich einmal suchen.

Und Du kannst auch nur mit css zwei Fragen untereinander platzieren ohne Zwischenraum. Da musst Du dann validieren.


Zu 2.
Was steht denn unter "Anzeige"?
Allerdings hast Du uns nicht gesagt, welche Version Du benutzt. Ich rede hier von 3.x.LTS

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 7 months ago by Joffm.
The topic has been locked.
  • oleroe
  • oleroe's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 7 months ago #204717 by oleroe
Replied by oleroe on topic Option "Keine Antwort" + eigene Labels
Danke für die Info. Klingt tricky. Das Feld einfach nicht verpflichtend machen, wäre eine Notfalllösung, weil ich die Umfrage so designed habe, dass "Keine Antwort" hier eine explizite und bewusste Antwortmöglichkeit sein sollte, die auch in dieser Stellung in der Darstellung deutlich werden sollte. Aber ja, wenn es nicht anders geht, könnte man das machen.

Display siehe Screenshot.

Version ist 4.2.2+200504 .
The topic has been locked.
  • oleroe
  • oleroe's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 7 months ago #204718 by oleroe
Replied by oleroe on topic Option "Keine Antwort" + eigene Labels
Whoops, sorry, da ist ja die Option! :-)
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 7 months ago #204724 by Joffm
Replied by Joffm on topic Option "Keine Antwort" + eigene Labels
Hallo,
es ist etwas ungünstig, dass Du mit einer Version 4.x. arbeitest.
Dise empfehlen wir keineswegs, da sie noch zu viele Bugs aufweist.
Besser 3.x.LTS

Außerdem gibt es für diese Version auch noch nicht so viele angepasste workarounds.
Hier habe ich die schon erwähnte Matrix gefunden.
War ursprünglich für 2.50/2.73, funktioniert aber in 4.x., bis auf ein bisschen "Schönheit".
Also hier das script, das im Fragetext im Sourcecode-Modus eingefügt wird.
Code:
<script type="text/javascript" charset="utf-8">
  $(document).ready(function(){  
 
    // Identify this question
    var qID = {QID};
    var thisQuestion = $('#question'+qID);
 
    // Add some classes
    $(thisQuestion).addClass('with-exclusive-items');
    $('td.answer-item', thisQuestion).addClass('non-exclusive-item');
 
    // Loop through the last-column cells
    $('td.answer-item:last-child', thisQuestion).each(function(i) {
      varThisID = $('input[type="text"]', this).attr('id');
 
      // Add a class
      $(this).removeClass('non-exclusive-item').addClass('exclusive-item');
 
      // Hide the text input
      $('td.answer-item:last-child input[type="text"]', thisQuestion).hide();
 
      // Insert checkboxes
      $(this).append('<div class="checkbox">\
                <input class="checkbox" name="" id="'+varThisID+'_cbox" value="N/A" type="checkbox">\
                <label for="'+varThisID+'_cbox" class="answertext inserted-label"></label>\
              </div>'); 
    });
 
    // Listener on the checkboxes
    $('.exclusive-item input[type="checkbox"]', thisQuestion).on('change', function(e) {
      var thisRow = $(this).closest('tr.subquestion-list');
      var thisCell = $(this).closest('td.answer-item');
      if($(this).is(':checked')) {
        $('input[type="text"]', thisCell).val('1');
        $('.non-exclusive-item input[type="text"]', thisRow).val('');
      }
      else {
        $('input[type="text"]', thisCell).val('');
      }
 
      // Fire Expression Manager
      $('input[type="text"]', thisRow).each(function(i) {
        $(this).trigger('keyup');
      });
    });
 
    // Listener on the text inputs
    $('.non-exclusive-item input[type="text"]', thisQuestion).on('keyup change', function(e) {
      var thisRow = $(this).closest('tr.subquestion-list');
      if($.trim($(this).val()) != '') {
        $('.exclusive-item input[type="checkbox"]', thisRow).prop('checked',false);
        $('.exclusive-item input[type="text"]', thisRow).val('');
      }
 
      // Fire Expression Manager
      $('.exclusive-item input[type="text"]', thisRow).trigger('keyup');
    });
 
    // Insert some styles (these could be in template.css)
    // For the LS 2.67 default template
    var newStyles = '.with-exclusive-items thead th.answertext {\
              text-align: center;\
            }\
            .with-exclusive-items .exclusive-item {\
              text-align: center;\
              vertical-align: middle;\
              cursor: pointer;\
            }\
            .with-exclusive-items .checkbox {\
              padding-left: 50%;\
            }\
            .with-exclusive-items .inserted-label {\
              width: 24px;\
              min-height: 24px;\
              padding: 0;\
            }\
            .with-exclusive-items .inserted-label::before {\
              margin: 4px 0 0 4px;\
            }\
            .with-exclusive-items .inserted-label::after {\
              margin: 4px 0 0 4px;\
            }';  
    $('head').append('<style type="text/css">'+newStyles+'</style>');  
  });  
</script>

Im letzten Teil kannst Du Deine eigenen Ideen des Stylings einbringen.

Kleines Beispiel

Die beiden Optionen sind übrigens exclusiv. Man muss also nicht zusätzlich validieren.

Und falls dies bei Dir auch nicht erlaubt ist, kannst Du ja immer noch auf die oben gezeigten zwei Fragen, die mithilfe von css wie eine aussehen, zurückgreifen.
Stichworte: .no-bottom, .no-question.
Ich werde einmal sehen, ob es in 4.x. funktioniert.

Joffm

Nur mal so nebenbei: Das Handbuch hast Du aber schon gelesen? Zumindest die Fragetypen und den Rest einmal quer, damit Du weißt, was alles drinsteht.

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • oleroe
  • oleroe's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 7 months ago - 3 years 7 months ago #204749 by oleroe
Replied by oleroe on topic Option "Keine Antwort" + eigene Labels

es ist etwas ungünstig, dass Du mit einer Version 4.x. arbeitest.
Dise empfehlen wir keineswegs, da sie noch zu viele Bugs aufweist.
Besser 3.x.LTS


Ah, ok, gut zu wissen, kann daran aber natürlich gerade wenig ändern.

Also hier das script, das im Fragetext im Sourcecode-Modus eingefügt wird.


Danke! Bei "Questions?" via "Toggle Source Mode"? Da komme ich rein, aber ich sehe dann nur den HTML-Source des Fragetextes, nicht den der Antwortmöglichkeiten. Kopiere ich deinen Code rein, wird augenscheinlich auch fein sauber der JS-Code gequotet. Habe ich den falschen Source-Button erwischt oder hat das RZ die Sourcebearbeitung vermutlich gesperrt?

Und falls dies bei Dir auch nicht erlaubt ist, kannst Du ja immer noch auf die oben gezeigten zwei Fragen, die mithilfe von css wie eine aussehen, zurückgreifen.


Das sind zwei normale Fragen, einfach untereinander platziert? Muss ich mir erstmal ansehen, wie ich den ganzen Fragenheader-Kram wegbekomme... ich fürchte schon, dass das hier eine XXL-Frickelage wird :(

Nur mal so nebenbei: Das Handbuch hast Du aber schon gelesen?


Nur bei konkreten Fragen und dann mit Strg+F ran, nicht systematisch. Ich wollte eigentlich nur eine 20-Fragen-Survey mit 4 Fragentypen für eine Handvoll Teilnehmer zusammenbauen (aber ohne großen Spielraum beim Aufbau) und hab' ehrlich gesagt den Einarbeitungsaufwand auch dafür massiv unterschätzt...

Danke in jedem Fall für deine hilfreichen Antworten, die haben mir einiges an Frust (und Zeit) gespart!
Last edit: 3 years 7 months ago by oleroe.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 7 months ago #204751 by Joffm
Replied by Joffm on topic Option "Keine Antwort" + eigene Labels
Das ist schon richtig so.
Source-Code-Modus:


Zurück getoggelt:

Ist m.E. ein Bug, dass hier das script angezeigt wird. Ist in anderen Version nicht der Fall.
Aber egal.

Falls das bei Dir nicht klappt, ist vermutlich HTML auf XSS gefiltert (Globale Einstellung). Dann hast Du wieder Pech gehabt.

Für das css, um die beiden Fragen aneinander zu rücken, kommt morgen etwas.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • oleroe
  • oleroe's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 7 months ago - 3 years 7 months ago #204753 by oleroe
Replied by oleroe on topic Option "Keine Antwort" + eigene Labels
Danke.
Kleine Verständnisfrage in dem Rahmen hier:

Wenn ich auf Question-Editor auf "Copy" gehe und alle Optionen auf "Yes" lasse (Voreinstellung), verschwindet mit Klick auf "Save" die Originalfrage. Das "Kopieren" scheint primär den Effekt zu haben, dass der Code der Frage "copy" als Annex bekommt. Wähle ich eine andere Question Group im "Copy"-Dialog, verschiebt LimeSurvey die Frage, statt sie zu kopieren.

Gibt es einen Trick, wie ich eine bestehende Frage mit allen Einstellungen/Antwortoptionen/etc. einfach duplizieren kann?
Last edit: 3 years 7 months ago by oleroe.
The topic has been locked.
  • oleroe
  • oleroe's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 7 months ago - 3 years 7 months ago #204755 by oleroe
Replied by oleroe on topic Option "Keine Antwort" + eigene Labels
Und noch eine Frage:

In meinem Array (F) sind die Labels der Antwortkategorien etwas länger (4 Worte jeweils) geworden. Das Original-CSS sorgt nun in Firefox für ein viel zu breites Fragefeld, knapp doppelt so breit wie die breiteste Frage. Die Antwortspalten sind dagegen gerade breit genug für den Radiobutton, um nicht zu sagen: extrem schmal. Der Antworttext geht voll in die Vertikale, so 19 Zeilen mit jeweils durchschnittlich 2 Zeichen).

So ergibt das natürlich gar keinen Sinn. Mein erster Frickelgedanke aus alten Tabellenlayout-HTML-Zeiten: lauter nbsp; zwischen die Zeichen packen. Bringt es leider auch nicht. Nächster Schritt: CSS per DIV in den Antwort-Labels verwerten. Funktioniert, führt aber direkt in die CSS-Hölle, weil offenbar noch andere CSS-Werte mitspielen.

Kann man irgendwie sinnvolle Spaltenbreiten automatisch bekommen?

Update dazu:
manual.limesurvey.org/Question_type_-_Ar...h_.28answer_width.29 habe ich gefunden. Hier im Forum ( forums.limesurvey.org/forum/design-issue...s-widths-in-an-array ) wird da noch "answer_width" empfohlen, die es weder im aktuellen Dok noch bei mir in der Software gibt. Wurde die rausgenommen?

Was es gibt, ist (Sub-)Question width. Wenn ich dort etwas eingebe (Beispiel: 50, laut Doku sind Integer von 0 bis 100 zulässig), ist es aber nach Klick auf "Save" wieder weg. Bug oder verstehe ich die Funktion falsch?
Last edit: 3 years 7 months ago by oleroe.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 7 months ago - 3 years 7 months ago #204756 by Joffm
Replied by Joffm on topic Option "Keine Antwort" + eigene Labels
Ja, man kopiert eine Frage mit "Kopieren".
Ich sehe da auch kein Problem.
Und das als neuer Fragecode "Alter Code" + "Copy" angeboten wird, dient nur der Bequemlichkeit.
Früher wurde gar nichts angeboten. Da haben wahrscheinlich viele auf "Speichern" geklickt ohne etwas eingetragen zu haben
Diesen Vorschlag ändert man natürlich.
Ich habe hier zunächst einmal nur "Copy" in "Cop" geändert, kopiert, dann diese Frage noch einmal in eine andere Gruppe kopiert.

Wie Du siehst ist alles wie gewünscht.

Trotzdem kannst Du Dich ja einmal in den Changelogs schlau machen, ob es seit Deiner Version irgendeinen Bugfix zu diesem Thema gab.
community.limesurvey.org/releases/

Und Deine Frage zur Breite der Fragen im Array?
Mach die Teilfragenbreite eben kleiner.


Wie Du ja merkst sollte man zu lange Texte als Matrix-Antwortoptionen sowieso vermeiden.
Einen Umbruch auf 5 Zeilen kann niemand mehr lesen (bei Umbrüchen sollte man auf jeden Fall weiche Trenner nutzen, wie "wbr" bzw. "shy" (Guck mal bei w3schools)

Und wenn Du anscheinend viele lange Antwortoptionen hast, dagegen kurze Teilfragen, könnte man evtl. die Matrix swappen, also eine Matrix nach Spalten nehmen.
Oder auch ganz einfach die Drop-Down-Darstellung.

Also es gibt sehr viel built-in.
Am Anfang steht aber immer das sinnvolle Design.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 7 months ago by Joffm.
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose