Welcome to the LimeSurvey Community Forum

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

Absenden/Submit Button mit Bedingung deaktivieren/ausgrauen

More
6 months 2 weeks ago #269258 by Balrog
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: Limesurvey Cloud Version 6.10.4
Eigener Server oder LimeSurvey-Cloud: Cloud
Genutzte Designvorlage: Fruity
==================
Hallo zusammen, 

wie schon in früheren Fragen erwähnt, benutzen wir bei der Firma eine managed Umgebung, d.h. ich habe keine Möglichkeit, template.css oder sonstige css Dateien zu bearbeiten, auch Javascript ist deaktiviert im Browser (Edge). 

Fragen zu meinem Problem gibt es bereits viele in der Community, aber ich fand nur Lösungen für die oben genannten Stellen, daher kann ich sie nicht anwenden. 
Die Frage entsprechend der Kurzbeschreibung ist, wie ich den Absenden Knopf am Ende einer Umfrage deaktivieren, also ausgrauen kann, solange eine bestimmte Bedingung nicht erfüllt ist? 
Eine Lösung wäre, eine neue "Frage" z.B. mit Typ Textanzeige zu machen, wo ich die Bedingung zwischen vorletzte und letzte Frage setze, damit die Textanzeige und somit das "Absenden" erst nach Erfüllen der Bedingung erscheint, aber gewünscht wäre von den Kollegen, dass das Absenden im aktuellen, letzten Teil (manuell erstellte Antwortliste) bleibt. 

Bisher habe ich Codes wie folgt, gefunden: 
Code:
<style type="text/css">#ls-button-submit {
    border: 3px solid yellow;
    border-radius: 50%;
    background-color: red;
    display: none !important;
}
</style>

und zum Aktivieren des Buttons angeblich das(?): 
Code:
<style type="text/css">
 
  #ls-button-submit {
    display: inline-block;
  }
</style>
 
  #ls-button-submit {
    display: inline-block;
  }

Also wenn ich richtig verstehe, steht '#ls-button-submit' für den Submit Button und 'display: none !important;' für das Ausblenden,  'display: inline-block;' fürs Einblenden/Aktivieren des Knopfes....Bitte korrigiert mich, wenn falsch.

Aber 
* wie kann ich es nur per css 
* nur ausgrauen/deaktivieren
​​​​​​​* und das nur in einer Umfrage also nicht global? 

Beispiel kann ich anhand der empfindlichen Daten leider nicht hochladen. 

Für jegliche Hilfe wäre ich sehr dankbar!

Please Log in to join the conversation.

More
6 months 2 weeks ago #269259 by holch

Beispiel kann ich anhand der empfindlichen Daten leider nicht hochladen.


Wir wollen ja auch ein "Beispiel" und nicht die echte Umfrage. Einfach eine Kopie erstellen, alles rauswerfen was nicht notwendig ist, die Texte so anpassen, dass es eben keine "empfindlichen" Daten mehr sind und fertig. Also das sollte doch machbar sein.

Aber wenn ich es richtig verstehe, darfst du nix machen willst aber was machen. Schwierig.

Mein Vorschlag wäre auch eine zusätzliche Frage mit Bedingung gewesen.

Allein mit CSS wird es nicht gehen. Du kannst zwar den Button mit CSS verstecken, soweit so gut. Aber du musst dieses "verstecken" ja dynamisch wieder rückgängig machen, wenn die Bedinung erfüllt ist. Und das geht dann meiner Meinung nach nur mit Javascript.

Also ich sehe als Lösung ohne Javascript eigentlich nur die Möglichkeit mit der zusätzlichen Frage auf die man eine Bedinung setzt.

aber gewünscht wäre von den Kollegen, dass das Absenden im aktuellen, letzten Teil (manuell erstellte Antwortliste) bleibt.


Wenn man den Fragebogen gut strukturiert hat, sollte das ja kein Problem sein. Unsere allgemeine Empfehlung ist ja immer die "Group by Group"- Anzeige zu wählen und die Gruppen dann wie "Seiten" zu verwenden. Manchmal steht halt nur eine Frage in der Gruppe, manchmal auch mehrere. Da kann man dann am Ende eine Text-Display-Frage einbauen, die nur angezeigt wird, wenn die Bedingung erfüllt ist. Wenn man es geschickt anstellt, fällt kaum auf, dass das eine zweite Frage ist.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
6 months 2 weeks ago - 6 months 2 weeks ago #269279 by Balrog
Hallo Holch, 
danke für die schnelle Antwort!
Die Fragen der Umfrage werden bewertet und am Ende gibt es wie gesagt, eine manuell zusammengestellte Auswertung. Davor ist eine Gleichung für die Summenberechnung: 
Code:
sum(S001.valueNAOK, S002.valueNAOK, S003.valueNAOK, S004.valueNAOK, S005.valueNAOK, S006.valueNAOK, S007.valueNAOK, S008.valueNAOK, S009.valueNAOK, EH001.valueNAOK, EH002.valueNAOK, AS001.valueNAOK, AS002.valueNAOK, AS003.valueNAOK, AS004.valueNAOK, AS005.valueNAOK, AS006.valueNAOK, AS007.valueNAOK, if(GL008.NAOK == "1", 1, 0), AS010.valueNAOK, AS009.valueNAOK, AS012.valueNAOK, AS011.valueNAOK)

Im letzten Teil - Textanzeige - dann eine Bedingung für eine Textanzeige: 
Code:
[u]Erreichte Punkte: {GLG04Q24.shown}[/u]{if(GLG04Q24.valueNAOK>=20,"...Text...", "Text...")}

Und die gleiche Bedingung hätten wir gerne verwendet bei Punktezahl < 20, für das ausgrauen/deaktivieren des Absenden-Buttons. 

So, kurz mal so viel zum Beispiel, mehr brauche ich gar nicht zu erfassen, weil wie du schon geschrieben hast, müssten wir ja den Button bei Punktezahl >= 20 auch wieder einblenden/aktivieren und wie es scheint, geht es also nicht alleine mit CSS. 

Dann bleibt nichts anderes, wie eine zusätzliche Textanzeige mit Bedingung - eh nicht schlimm, Hauptsache es geht. 

Ja.... und bzgl. Sperren, es ist halt so, dass in Firmenumgebungen oft nur eingeschränkte Möglichkeiten erlaubt sind, du hast es in deiner Antwort wunderbar formuliert. 

Danke für die Auskunft und schönen Tag noch!
Last edit: 6 months 2 weeks ago by Balrog. Reason: Code Beispiel falsch eingegeben

Please Log in to join the conversation.

More
6 months 2 weeks ago #269285 by Joffm
Hallo,
auch, wenn ich nicht angesprochen bin, will ich mich einmal einmischen.

Ich verstehe nämlich immer noch nicht, was das Ganze soll.
Also, wenn er weniger als 20 Punkte hat, soll der Absende-Button deaktiviert sein, oder?
Irgendwie so?
 
 

  

Warum denn das? Soll er dann ein paar der vorherigen Antworten ändern, damit er die 20 Punkte erreicht?
Oder soll er einfach die Umfrage nicht beenden können? Dann ist das doch einfacher mit einer Quote zu erreichen.

Und nebenbei:
css ist ja die Abkürzung für "Cascading Style Sheet"; d.h. es dient dazu , stylistische Änderungen vorzunehmen.
Daher kannst Du damit auch keine Aktionen auslösen/verhindern. In diesem Fall kannst Du den Button halt nur unsichtbar machen.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
6 months 2 weeks ago #269289 by Balrog
Hallo Joffm, 
ja....komische Anforderungen wie immer, ne! 

Die Umfrage soll als interner Test und eine Art "Awareness Training" für die Kollegen und Kolleginnen dienen. Wenn sie die gewünschte Punktezahl nicht erreicht haben, sollen sie die Möglichkeit haben, mit dem 'Zurück' Button zu den falsch beantworteten Fragen zurückgehen zu können, um die richtige Antworten zu wählen. So als Wiederholung etwa. 

Dann laufen sie da die Umfrage wieder durch und landen wieder auf der letzten Seite, wo hoffentlich die erforderliche Punktezahl erreicht angezeigt wird und sie können dann alles 'absenden'. 
Deshalb sollten sie erst dann absenden klicken, wenn sie schon "geübt" sind und die richtigen Antworten zumindest ein wenig verinnerlicht haben. 

Den Button bedingungsgesteuert aus- und einblenden ist also möglich mit CSS? 

LG
Peter

Please Log in to join the conversation.

More
6 months 2 weeks ago - 6 months 2 weeks ago #269290 by Joffm
Naja, dann ist es ja genau so, wie ich es gezeigt habe.
2 Fragen:
1. Die "Fehlerfrage" mit Verstecken des "Weiter-Buttons". Bedingung: Zu wenig Punkte
2. Die "Erfolgsfrage" ohne jeden Schnickschnack.. Bedingung: Ausreichende Punktzahl
Bitte nicht umgekehrt.
Dann würde in der "Erfolgsfrage" der Text des "Weiter"-Buttons eben "Weiter" sein und nicht "Absenden" (Du kannst den Text ja nicht mittels javascript ändern)

Falls Du aber diese beiden Fragen in ein und dieselbe Gruppe legen willst, musst Du natürlich noch etwas mehr hineinstecken.
Dann musst Du der "Fehlerfrage" eine zusätzliche css-Klasse (hier: fehler) geben, damit das Verstecken eben nur in dieser Frage passiert.
Etwa
Code:
<style type="text/css">
.fehler #ls-button-submit {
    display: none !important;
}
</style>


Gerade noch eingefallen.
Du kannst auch als letzte Frage eine "kurze Text" Frage nehmen und den Frage- und Antwortcontainer ausblenden.
Code:
<style type="text/css">
.question-title-container,
.answer-container {
  display:none;
}
</style>
Dann eine Validierungsgleichung wie "Q1>20" und Deine Texte als Validierungshinweis.
Im Falle zu weniger Punkte erscheint dann beim Versuch des Absendens das bekannte Popup.
 
 

Joffm
 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 6 months 2 weeks ago by Joffm.

Please Log in to join the conversation.

More
6 months 2 weeks ago #269294 by Balrog
Hallo Joffm, 

der letzte Punkt in deiner Antwort, die "kurze Text" Frage würde glaube ich sehr gut passen.
Den .question-title-container würde ich eingeblendet lassen, wenn möglich, weil ich dort die manuelle Antwortinfos und Auswertung eintragen würde, und nur den Antwortcontainer würde ich gerne ausblenden. 
Jetzt ist nur noch die Frage, ob ich bei all den früher erwähnten Einschränkungen deinen Code 
Code:
<style type="text/css">
.answer-container {
  display:none;
}
</style>
 
und die Validierungen eingeben kann, so dass alles richtig funktioniert? Ich meine, wo und wie genau soll ich den 'style type...' Code und die Validierungen eingeben, damit alles funktioniert? 

Im Code Bereich der letzten, betroffenen Frage etwa? Bitte dazu noch um Hilfestellung, danke!

Please Log in to join the conversation.

More
6 months 1 week ago #269331 by Balrog
Hallo Joffm, 

ich habe inzwischen mehrmals deine beiden Vorschläge probiert umzusetzen, leider ohne Erfolg. Die Codes füge ich in den Quellcode ein --> für den Submit Button in die "Fehlerfrage" und den anderen in der "Kurzer Text Frage", aber irgendwas mache ich falsch, weil nichts passiert, es wird davon nichts übernommen. 
Muss man deine Codes noch irgendwie ergänzen oder anders eingeben?
Ich werde inzwischen nochmal die Anleitung anschauen, vielleicht finde ich einen Hinweis, was ich falsch mache. 

Please Log in to join the conversation.

More
6 months 1 week ago #269351 by holch
Wie fügst du denn die Codes ein? In den Quellcode? Oder über den WYSIWYG Editor?

Zeig doch mal einen Screenshot, wie das aussieht.

Muss natürlich über den Quellcode-Modus gemacht werden, sonst wird der Code einfach nur als Text angezeigt.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
6 months 1 week ago #269372 by Balrog
Code wird in den Quellcode Bereich eingefügt, siehe angehängtes Bild. 

Auch habe ich schon mehrmals versucht, den Code manuell einzugeben, es wird immer weggelöscht nach dem Speichern und Schließen der Frage. 
Ich kann leider nicht sagen, was ich falsch mache. 

Please Log in to join the conversation.

More
6 months 1 week ago - 6 months 1 week ago #269373 by Balrog
Hier noch die Bilder vor und nach dem 'Speichern und schließen': 
Last edit: 6 months 1 week ago by Balrog.

Please Log in to join the conversation.

More
6 months 1 week ago #269374 by holch
Naja, also dieses Bild sieht mir verdammt nach "WYSIWYG" aus, denn im Quellcode kann ja kein Smiley angezeigt werden.

Schalte doch mal den WYSIWYG-Editor komplett aus.

Denn offensichtlich läuft da was schief. Dir wird da ja Quellcode angezeigt in der WYSIWYG-Ansicht, also wurde der Code nicht richtig in der Code-Ansicht eingegeben.

Oder schicke mal eine LSS-Datei von genau den relevanten Fragen (Kopie machen, alles rauswerfen was nicht relevant ist, LSS der Kopie runterladen und hier hochladen).

Aber ich denke dieser erste Screenshot zeigt eindeutig, dass der Code nicht richtig in der Quellcode ansicht eingegeben wurde, wie und warum auch immer.

Ich habe den WYSIWYG-Editor sowieso nur auf "zuschaltbar" gestellt, denn was diese Editoren so abliefern ist meist nicht so der Bringer.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
6 months 1 week ago #269375 by Joffm
Schicke doch einfach einmal den lss Export.

Dann muss ich nicht fragen, ob Du dies beherzigt hast

Dann musst Du der "Fehlerfrage" eine zusätzliche css-Klasse (hier: fehler) geben, damit das Verstecken eben nur in dieser Frage passiert.


Nämlich hier:
 

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
6 months 6 days ago #269476 by Balrog
Hallo zusammen, 
sorry für die späte Antwort, hatte in den letzten Tagen nicht die Möglichkeit gehabt, meine Umfrage weiter anzuschauen. 

Jetzt habe ich nochmal den Vorschlag von Joffm mit der Beispielsklasse 'fehler' und dem Ausblenden des Buttons probiert. Den Code eingegeben, gespeichert, wird aber nicht übernommen. 
Es sind zwei Fragen, eine 'Fehlerfrage' als erstes und eine 'Erfolgsfrage' als zweites, wie vorgeschlagen. Beide sind in einer eigenen, gemeinsamen Fragengruppe und vor ihnen ist eine versteckte Frage als Gleichung für die Punkteberechnung. Siehe auch .lss Export, wo ich nur die Texte gekürzt habe, sonst alles belassen. 
Einziger Unterschied zur orig. Umfrage, dass dort Bewertungsregeln von meinem Kollegen noch drin sind, in dieser Testumfrage aber nicht, es ist aber egal, denn in beiden funktioniert der Befehl zum Ausblenden des Buttons nicht. 
Ich weiß nicht, ob es von Bedeutung ist (weil es eben weder so noch so funktioniert), aber wenn ich im 'Quellcode' Bereich den Code eingebe und die Umfrage NUR speichere, bleibt der Code (Klasse 'fehler') erhalten, aber wenn "Speichern und schließen" wähle, dann verschwindet der Code aus dem Quellcode Bereich. 
Was mache ich da falsch? Das ist vielleicht das Problem von diesem "WYSIWYG"-Editor, was holch erwähnt hat....?

....dann habe ich die Info von Holch überlegt --> im Quellcode Bereich sind tatsächlich Smileys vorhanden. 
Wie kann ich diesen WYSIWYG-Editor abschalten bzw. wie kann ich die Code-Ansicht aktivieren? --> Da es eine voll managed Umgebung ist, wie am Anfang erwähnt, kann sehr gut sein, dass ich es nicht sehe/keinen Zugriff drauf habe!? Könnt ihr bitte sagen, wo es zu finden ist bzw. was dafür an Berechtigung freigegeben werden muss, damit ich es nutzen kann? Vielleicht liegt mein Problem nur daran....

Please Log in to join the conversation.

More
6 months 6 days ago #269479 by Joffm
Ich dachte, Du wolltest bei der "Fehler"-Seite den "Absende-Button" verstecken.
Dort steht der Code aber nicht, alse das css mit "ls-button-submit...

Außerdem:
AS008 ist eine Mehrfachfrage; wie Du siehst, kannst Du nicht auf deren "Fragetext zugreifen. ".question" bezieht sich auf die Teilfragen.
Da musst Du ein plugin aktivieren
[url] www.limesurvey.org/manual/ExpressionQuestionForAll [/url]

Und als Letztes:
Die Auswahl des Editors geschieht in Deinem Konto (rechts oben)
Aber dies ist ja obsolet, da die Smileys nur eim Fließtext stehen und nicht in irgendwelchen expressions.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose