- Posts: 4
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
LimeSurvey JavaScript-Fehler "Unexpected token"
- Vince2373
- Topic Author
- Offline
- New Member
Less
More
1 week 1 day ago #265284
by Vince2373
LimeSurvey JavaScript-Fehler "Unexpected token" was created by Vince2373
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: 6.5.11
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: fruity
==================
Hallo liebes Forum,
zuerst möchte ich einmal allen hier danken! Ich benutze LimeSurvey nun schon einige Zeit und die Beiträge hier haben mir in der Vergangenheit schon sehr weitergeholfen. Nun habe ich jedoch selbst ein Problem, dass ich nicht lösen kann.
Ich möchte gerne eine Umfrage im Sinne des AHP durchführen. Hierzu gibt es bereits einen Beitrag im Forum, in dem eigentlich genau das, was ich möchte, mittels JavaScript umgesetzt wurde ( [url] forums.limesurvey.org/forum/german-forum...ration-schieberegler [/url] ).
Egal wie und wo ich diese beiden Teile des Skripts jedoch einfüge, erhalte ich Fehlermeldungen. Zuerst habe ich wie im Hilfedokument beschrieben "Filtere HMTL auf XSS:" auf aus gestellt, dann habe ich beide Teile des Skriptes untereinander kopiert und in den eigentlichen Fragentext (Reiter "Frage" beim Bearbeiten einer Frage) eingefügt. Hierbei erscheint jedoch einfach eine leere Frage. Anschließend habe ich das Skript im Reiter "Skript" eingefügt. Hierbei erscheinen jedoch rote Kästchen mit der Meldung "Expected an identifier, but instead saw '<'" sowie "Missing ";" before statement" in der ersten Zeile des Skripts sowie "Unclosed regular expression" in der Zeile, in der der erste Teil mit <\script> geschlossen wird.
Ich weiß leider aktuell nicht weiter und würde mich sehr über Hilfe freuen! Die betreffende Frage habe ich angehängt.
Vielen Dank und viele Grüße
Vincent
Ihre LimeSurvey-Version: 6.5.11
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: fruity
==================
Hallo liebes Forum,
zuerst möchte ich einmal allen hier danken! Ich benutze LimeSurvey nun schon einige Zeit und die Beiträge hier haben mir in der Vergangenheit schon sehr weitergeholfen. Nun habe ich jedoch selbst ein Problem, dass ich nicht lösen kann.
Ich möchte gerne eine Umfrage im Sinne des AHP durchführen. Hierzu gibt es bereits einen Beitrag im Forum, in dem eigentlich genau das, was ich möchte, mittels JavaScript umgesetzt wurde ( [url] forums.limesurvey.org/forum/german-forum...ration-schieberegler [/url] ).
Egal wie und wo ich diese beiden Teile des Skripts jedoch einfüge, erhalte ich Fehlermeldungen. Zuerst habe ich wie im Hilfedokument beschrieben "Filtere HMTL auf XSS:" auf aus gestellt, dann habe ich beide Teile des Skriptes untereinander kopiert und in den eigentlichen Fragentext (Reiter "Frage" beim Bearbeiten einer Frage) eingefügt. Hierbei erscheint jedoch einfach eine leere Frage. Anschließend habe ich das Skript im Reiter "Skript" eingefügt. Hierbei erscheinen jedoch rote Kästchen mit der Meldung "Expected an identifier, but instead saw '<'" sowie "Missing ";" before statement" in der ersten Zeile des Skripts sowie "Unclosed regular expression" in der Zeile, in der der erste Teil mit <\script> geschlossen wird.
Ich weiß leider aktuell nicht weiter und würde mich sehr über Hilfe freuen! Die betreffende Frage habe ich angehängt.
Vielen Dank und viele Grüße
Vincent
Attachments:
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13192
- Thank you received: 4057
1 week 1 day ago #265287
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic LimeSurvey JavaScript-Fehler "Unexpected token"
Hallo,
erster Fehler: Wie unter dem "Script"-Feld angegeben wird
Dieses optionale Skriptfeld wird umschlossen, sodass das Skript nach der Anzeige der Frage korrekt ausgeführt wird.
wird hier das script nicht mehr mit den tags umschlossen.
Daher ist die Meldung auch verständlich
"Expected an identifier, but instead saw '<'"
Da kommt am Anfang das "<" von "<script>"; und das hat dort nichts verloren.
Persönlich halte ich diesen Tab für Blödsinn, da Du zwar das script hineinbekommst, aber mit css dann wieder Probleme bekommst.
Daher: Für mich gibt es diesen Tab nicht.
Daher mein Ratschlag: Füge es (mit tags) in den Fragetext ein.
Zweiter Fehler: Die Frage ist vom Typ "Matrix"!!!!
Wie soll da ein Slider dargestellt werden?
Es muss "mehrfache numerische Eingabe" sein.
Dann klappt es auch.
Dann noch ein bisschen "Schönheit"
erster Fehler: Wie unter dem "Script"-Feld angegeben wird
Dieses optionale Skriptfeld wird umschlossen, sodass das Skript nach der Anzeige der Frage korrekt ausgeführt wird.
wird hier das script nicht mehr mit den tags umschlossen.
Daher ist die Meldung auch verständlich
"Expected an identifier, but instead saw '<'"
Da kommt am Anfang das "<" von "<script>"; und das hat dort nichts verloren.
Persönlich halte ich diesen Tab für Blödsinn, da Du zwar das script hineinbekommst, aber mit css dann wieder Probleme bekommst.
Daher: Für mich gibt es diesen Tab nicht.
Daher mein Ratschlag: Füge es (mit tags) in den Fragetext ein.
Zweiter Fehler: Die Frage ist vom Typ "Matrix"!!!!
Wie soll da ein Slider dargestellt werden?
Es muss "mehrfache numerische Eingabe" sein.
Dann klappt es auch.
Dann noch ein bisschen "Schönheit"
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Vince2373
Please Log in to join the conversation.
- Vince2373
- Topic Author
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
1 week 1 day ago #265291
by Vince2373
Replied by Vince2373 on topic LimeSurvey JavaScript-Fehler "Unexpected token"
Hey,
vielen lieben Dank für die Antwort! Das es einen Fragentyp mit Slider gibt, habe ich tatsächlich einfach übersehen...
Der Code funktioniert, im Gegensatz zu den Ergebnissen im anderen Thread steht bei mir der Text, der links und rechts des Sliders sein sollte, jetzt allerdings unter dem Slider. Zusätzlich wird bei mir immer noch der "eigentliche Zahlenwert (also von 1 bis 17, nicht wie im Slider von 9 - 1 - 9) angezeigt, trotz ".slider .tooltip {display:none; }". Ich habe schon versucht, im Skript Variablen zu ändern, kenne mich aber leider mit JavaScript so gar nicht aus...
Vielen Dank schon einmal!
vielen lieben Dank für die Antwort! Das es einen Fragentyp mit Slider gibt, habe ich tatsächlich einfach übersehen...
Der Code funktioniert, im Gegensatz zu den Ergebnissen im anderen Thread steht bei mir der Text, der links und rechts des Sliders sein sollte, jetzt allerdings unter dem Slider. Zusätzlich wird bei mir immer noch der "eigentliche Zahlenwert (also von 1 bis 17, nicht wie im Slider von 9 - 1 - 9) angezeigt, trotz ".slider .tooltip {display:none; }". Ich habe schon versucht, im Skript Variablen zu ändern, kenne mich aber leider mit JavaScript so gar nicht aus...
Vielen Dank schon einmal!
Attachments:
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13192
- Thank you received: 4057
1 week 1 day ago #265294
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic LimeSurvey JavaScript-Fehler "Unexpected token"
Hast Du einmal mein "Tutorial 2: Mehrfachnennungen, ..." angesehen.
Dort wird dies im Kapitel 4 gezeigt.
Und generell denke ich, dass das css für Version 6 angepasst werden muss. Aber das muss es ja eigentlich sowieso; jeder hat andere Vorstellungen das Aussehen betreffend.
Ich werde später den Export anschauen.
Joffm
Dort wird dies im Kapitel 4 gezeigt.
Und generell denke ich, dass das css für Version 6 angepasst werden muss. Aber das muss es ja eigentlich sowieso; jeder hat andere Vorstellungen das Aussehen betreffend.
Ich werde später den Export anschauen.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13192
- Thank you received: 4057
1 week 1 day ago #265303
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic LimeSurvey JavaScript-Fehler "Unexpected token"
Hallo,
1.
In Version 6.x. ist die default-Anzeige eben so
2.
Du meinst, dass der ursprüngliche Tooltip noch angezeigt wird?
Einfach ein "!important" hinzufügen.
.tooltip { display:none !important; }
Noch einmal die Breiten und Texte angepasst
3. Gut, so wie es jetzt aussieht, ist es nicht besonders schön mit den Endpunkttexten so mitten im Gelände.
Du könntest jetzt
Okay,
das ist ja immer nur das Beispiel aus dem Forum, also nicht Dein echtes.
Vielleicht willst Du dies ja gar nicht, sondern einen "stinknormalen" Slider.
Da Du ja nicht wusstest, dass es so etwas gibt. (Das Handbuch sollte man schon einmal quergelesen haben, gerade, was die Fragetypen angeht)
Also, zeige einmal, wie die Frage wirklich sein soll.
Bis dann
Joffm
1.
Der Thread (und auch die screenshots im Tutorial) stammen aus der Version 3.x.der links und rechts des Sliders sein sollte, jetzt allerdings unter dem Slider.
In Version 6.x. ist die default-Anzeige eben so
2.
Zusätzlich wird bei mir immer noch der "eigentliche Zahlenwert (also von 1 bis 17, nicht wie im Slider von 9 - 1 - 9) angezeigt, trotz ".slider .tooltip {display:none; }".
Du meinst, dass der ursprüngliche Tooltip noch angezeigt wird?
Einfach ein "!important" hinzufügen.
.tooltip { display:none !important; }
Noch einmal die Breiten und Texte angepasst
3. Gut, so wie es jetzt aussieht, ist es nicht besonders schön mit den Endpunkttexten so mitten im Gelände.
Du könntest jetzt
- die Skala weglassen; die oberen Texte sind ja aussagekräftig genug
- die Skala ebenfalls nach oben setzen (dabei auch die Endpunkttexte mehr hervorheben)
- die Skala weglassen, stattdessen die Tooltips anpassen (s. Kap. 4.2. des Tutorials)
Okay,
das ist ja immer nur das Beispiel aus dem Forum, also nicht Dein echtes.
Vielleicht willst Du dies ja gar nicht, sondern einen "stinknormalen" Slider.
Da Du ja nicht wusstest, dass es so etwas gibt. (Das Handbuch sollte man schon einmal quergelesen haben, gerade, was die Fragetypen angeht)
Also, zeige einmal, wie die Frage wirklich sein soll.
Bis dann
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Vince2373
Please Log in to join the conversation.
- Vince2373
- Topic Author
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
1 week 1 day ago #265310
by Vince2373
Replied by Vince2373 on topic LimeSurvey JavaScript-Fehler "Unexpected token"
Hallo,
Vielen Dank für die schnellen Antworten, das mit dem Tooltip hat jetzt funktioniert! Die Beispieldateien waren genau meine Frage, da ich es gerne genau so wie im Beispiel gehabt hätte. Das geht ja aber leider nicht, wie Du festgestellt hast. Ich habe in der Zwischenzeit ein bisschen mit den Werten herumgespielt und habe eine für mich passende Lösung gefunden (s. Screenshot). Ich werde wahrscheinlich noch versuchen, den Text unter der Skala etwas größer zu bekommen sowie den Text links daneben höher zu setzen. Ich füge noch den genutzten Code mit an, falls andere Leser ebenfalls nach einer solchen Lösung suchen.
Vielen Dank und einen schönen Abend noch!
Vincent
Vielen Dank für die schnellen Antworten, das mit dem Tooltip hat jetzt funktioniert! Die Beispieldateien waren genau meine Frage, da ich es gerne genau so wie im Beispiel gehabt hätte. Das geht ja aber leider nicht, wie Du festgestellt hast. Ich habe in der Zwischenzeit ein bisschen mit den Werten herumgespielt und habe eine für mich passende Lösung gefunden (s. Screenshot). Ich werde wahrscheinlich noch versuchen, den Text unter der Skala etwas größer zu bekommen sowie den Text links daneben höher zu setzen. Ich füge noch den genutzten Code mit an, falls andere Leser ebenfalls nach einer solchen Lösung suchen.
Vielen Dank und einen schönen Abend noch!
Vincent
Code:
<script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:scriptcomplete',function(){ var ticksArray = [ [1, ''], [2, ''], [3, ''], [4, ''], [5, ''], [6, ''], [7, ''], [8, ''], [9, ''], [10, ''], [11, ''], [12, ''], [13, ''], [14, ''], [15, ''], [16, ''], [17, ''], ]; var ticksArray2 = [ [1, '<span style="color:blue">extrem wichtiger</span>'], [2, ''], [3, '<span style="color:blue">sehr viel wichtiger</span>'], [4, ''], [5, '<span style="color:blue">viel <br> wichtiger</span>'], [6, ''], [7, '<span style="color:blue">etwas <br> wichtiger</span>'], [8, ''], [9, '<span style="color:black">gleich <br> wichtig</span>'], [10, ''], [11, '<span style="color:red">etwas <br> wichtiger</span>'], [12, ''], [13, '<span style="color:red">viel <br> wichtiger</span>'], [14, ''], [15, '<span style="color:red">sehr viel wichtiger</span>'], [16, ''], [17, '<span style="color:red">extrem wichtiger</span>'], ]; insertSliderTicks('{QID}', ticksArray); insertSliderTicks2('{QID}', ticksArray2); }); /* Insert Slider Tick Marks */ function insertSliderTicks(qID, ticksArray) { var thisQuestion = $('#question'+qID); $(thisQuestion).addClass('with-inserted-ticks'); $('input:text', thisQuestion).on('slideEnabled',function(){ var thisSlider = $(this); var thisItem = $(thisSlider).closest('li'); var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin'); var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax'); var thisRange = thisMax - thisMin; $.each(ticksArray, function(i, val) { var tickRelativePosition = val[0] - thisMin; var tickPercent = (tickRelativePosition/thisRange)*100; // Insert tick marks $('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick left-'+tickPercent+'" style="left: '+tickPercent+'%">\ <div class="tick-text">'+val[1]+'</div>\ </div>'); }); }); } /* Insert Slider Tick Marks */ function insertSliderTicks2(qID, ticksArray2) { var thisQuestion = $('#question'+qID); $(thisQuestion).addClass('with-inserted-ticks'); $('input:text', thisQuestion).on('slideEnabled',function(){ var thisSlider = $(this); var thisItem = $(thisSlider).closest('li'); var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin'); var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax'); var thisRange = thisMax - thisMin; $.each(ticksArray2, function(i, val) { var tickRelativePosition = val[0] - thisMin; var tickPercent = (tickRelativePosition/thisRange)*100; // Insert tick marks $('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick2 left-'+tickPercent+'" style="left: '+tickPercent+'%">\ <div class="tick-text">'+val[1]+'</div>\ </div>'); }); }); } </script> <style type="text/css">/* Slider Tick Marks */ @media only screen and (min-width: 768px) { .with-inserted-ticks .slider-container { padding-right: 30px; padding-left: 30px; } } .with-inserted-ticks .slider-item { margin-bottom: 100px; margin-top: 100px; } .with-inserted-ticks .slider-container .help-block { margin: 25px 0 0 -20px; width: 40px; text-align: center; } .with-inserted-ticks .slider-container .help-block.pull-right { margin: 25px -20px 0 0; } .inserted-tick, .inserted-tick2 { position: absolute; top: 50%; height: 20px; width: 4px; margin-top: -25px; margin-left: -1px; background-color: #DDDDDD; background-color: black; } .inserted-tick2.left-0, .inserted-tick2.left-100, .inserted-tick.left-0, .inserted-tick.left-100 { background-color: transparent; background-color: black; } .inserted-tick2 .tick-text { position: absolute; top: -250%; width: 100px; margin-left: -50px; color: #000000; text-align: center; } .inserted-tick .tick-text { position: absolute; top: 150%; width: 100px; margin-left: -50px; color: #000000; text-align: center; } @media only screen and (max-width: 768px) { .slider-list .slider-left, .slider-list .slider-right { margin-top: 0em; } } .inserted-tick.left-0 .tick-text { margin-left: 0px; text-align: left; } .inserted-tick.left-100 .tick-text { margin-left: -100px; text-align: right; } } .slider .tooltip { display:none !important; } .tooltip { display:none !important; } .slider-selection { display:none !important; } </style>
Attachments:
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13192
- Thank you received: 4057
1 week 19 hours ago #265325
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic LimeSurvey JavaScript-Fehler "Unexpected token"
Gut, das funktioniert natürlich.
Doch, wenn Du das ticksArray gar nicht benutzen willst, solltest Du dies auch aus dem script entfernen.
Dann ist dies doch überflüssig
Kannst Du dann auch aus dem css löschen.
Vielleicht sollten die Skalenendtexte ein bisschen präsenter sein im Vergleich zum Teilfragentext.
Und den Teilfgragentext ein wenig höher.
Kleines Beispiel
Linksbündiger Teilfragentext und Höherstellung mit
Aber das ist natürlich Dir überlassen.
Joffm
Doch, wenn Du das ticksArray gar nicht benutzen willst, solltest Du dies auch aus dem script entfernen.
Dann ist dies doch überflüssig
Code:
var ticksArray = [ [1, ''], [2, ''], ...
Code:
insertSliderTicks('{QID}', ticksArray);
Code:
/* Insert Slider Tick Marks */ function insertSliderTicks(qID, ticksArray) { var thisQuestion = $('#question'+qID); $(thisQuestion).addClass('with-inserted-ticks'); $('input:text', thisQuestion).on('slideEnabled',function(){ var thisSlider = $(this); var thisItem = $(thisSlider).closest('li'); var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin'); var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax'); var thisRange = thisMax - thisMin; $.[url=http://www.php.net/each]each[/url](ticksArray, function(i, val) { var tickRelativePosition = val[0] - thisMin; var tickPercent = (tickRelativePosition/thisRange)*100; // Insert tick marks $('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick left-'+tickPercent+'" style="left: '+tickPercent+'%">\ <div class="tick-text">'+val[1]+'</div>\ </div>'); }); }); }
Kannst Du dann auch aus dem css löschen.
Vielleicht sollten die Skalenendtexte ein bisschen präsenter sein im Vergleich zum Teilfragentext.
Und den Teilfgragentext ein wenig höher.
Kleines Beispiel
Linksbündiger Teilfragentext und Höherstellung mit
Code:
.slider-list.form-horizontal .control-label { text-align: left !important; } .slider-list.form-horizontal .control-label { text-align: left !important; margin-top: -30px !important; }
Aber das ist natürlich Dir überlassen.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
Moderators: Joffm