Welcome to the LimeSurvey Community Forum

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

Absenden/Submit Button mit Bedingung deaktivieren/ausgrauen

  • Balrog
  • Balrog's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 week 15 hours 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.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 week 15 hours 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.

  • Balrog
  • Balrog's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 days 19 hours ago - 4 days 19 hours 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: 4 days 19 hours ago by Balrog. Reason: Code Beispiel falsch eingegeben

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 days 18 hours 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.

  • Balrog
  • Balrog's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 days 16 hours 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.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 days 16 hours ago - 4 days 16 hours 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: 4 days 16 hours ago by Joffm.

Please Log in to join the conversation.

  • Balrog
  • Balrog's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 days 12 hours 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.

  • Balrog
  • Balrog's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 days 19 hours 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.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 days 12 hours 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.

  • Balrog
  • Balrog's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 day 16 hours 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.

  • Balrog
  • Balrog's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 day 16 hours ago - 1 day 16 hours ago #269373 by Balrog
Hier noch die Bilder vor und nach dem 'Speichern und schließen': 
Last edit: 1 day 16 hours ago by Balrog.

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 day 16 hours 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.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose