Welcome to the LimeSurvey Community Forum

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

ein Button in die Frage integrieren

  • Crashnub
  • Crashnub's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 5 months ago #175752 by Crashnub
ein Button in die Frage integrieren was created by Crashnub
Hallo liebe Community,

in eine Frage meiner Umfrage möchte ich gerne einen Button integrieren, der einen zufälligen Code beim Click generiert. Leider bin ich in Programmieren nicht mächtig und bräuchte eure Hilfe.

Ich habe schon selber versucht, einen ganz klassischen Button mit html zu erstellen und dessen Verhalten dann mit js zu programmieren, aber beim Abspeichern meiner Frage verschwindet der Button einfach und an der Stelle bleibt nur der Text bzw. der Name des Buttons stehen.

Hat jemand eine Idee, wie der Code aussehen sollte, um meine Idee zu realisieren?

Kurze Zusammenfassung, wie die Frage aufgebaut werden sollte:

"Frage - Text"

"Button"
- beim Click generiert einen zufälligen Code (die Frage einer echten und pseudo zufälligen Reihenfolge ist irrelevant)
- der Code besteht aus Zahlen, kleinen und großen Buchstaben (keine Umlaute, keine speziellen Zeichen)
- Länge des generierten Codes: 8 Zeichen

"Button Ausgabe (Code)"

"Antwort - Short Free Text".




Ich bin für jede Hilfe sehr dankbar! :)



LimeSurvey Version 3.14.11+180926
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 5 months ago #175754 by Joffm
Replied by Joffm on topic ein Button in die Frage integrieren
Hallo,
also in Deinem Fall fehlt wirklich die Beispieldatei.
Also schicke uns bitte ein Beispile mit dieser Frage als *.lss.
Was soll man sonst sagen?

Aber Du hast den JS code im Quellcode-Modus eingegeben?

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Crashnub
  • Crashnub's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 5 months ago #175771 by Crashnub
Replied by Crashnub on topic ein Button in die Frage integrieren
Hallo Joffm,

vielen Dank für die Antwort!

Mittlerweile habe ich eine alternative Lösung für mein Ziel gefunden, auch wenn diese nur zufällige Codes aus Zahlen bietet (Funktion rand() von Lime).

Mich würde es aber interessieren, warum meine komplexere Variante mit dem Code nicht funktioniert. Den Code habe ich im Quellcode-Modus angegeben. :)

Anbei befinden sich .lss Datei (nur die Frage als Beispiel enthalten) und .txt datei mit dem Code, den ich verwendet habe. Im Beispiel ist gut zu sehen, was nach dem Speichern der Frage passiert: der Code ist weg, es bleiben nur 2-3 Zeilen davon übrig, der Button verschwindet....

Was mache ich falsch?
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 5 months ago - 5 years 5 months ago #175791 by Joffm
Replied by Joffm on topic ein Button in die Frage integrieren
Hallo,
ich habe mir das script noch nicht genau angesehen, glaube aber, dass die Funktion so nicht gehen kann.
Der Code für den Button:
Einfach <button id="CodeButton">Mein Button</button> ohne doctype, ohne HTML, usw.
Selbstverständlich kannst Du noch mit css stylen.

Und ohne mich gut mit JS auszukennen:
Irgendwie $( '#CodeButton' ).click(function (event) {...

Aber:
Es geht doch viel einfacher. Nimm eine Frage vom Typ "Gleichung" und dann:

{join(substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1), substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1), substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1), substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1), substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1), substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1), substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1), substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',rand(0,61),1))}

Okay, was machst Du?
Du bestimmst jeweils eine Zufallszahl zwischen "0" und "61" und nimmst mit "substr" genau das an dieser Stelle stehende Zeichen heraus (substr fängt bei 0 an
Dann wird alles mit "join" zusammengefügt.

Man könnte dies noch eleganter machen, indem man die zur Auswahl stehenden Zeichen in einer versteckten Vorfrage einträgt, den Bereich der Zufallszahl dynamisch mit "strlen" bestimmt, usw.

File Attachment:

File Name: limesurvey...6568.lss
File Size:15 KB


Viel Erfolg
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 5 years 5 months ago by Joffm.
The following user(s) said Thank You: Crashnub
The topic has been locked.
  • Crashnub
  • Crashnub's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 5 months ago #175837 by Crashnub
Replied by Crashnub on topic ein Button in die Frage integrieren
Hallo Joffm,

vielen lieben Dank für die neuen Ideen und Deine Hilfe! :)

Grüße
Crashnub
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose