0 votes
in SoSci Survey (dt.) by s081303 (150 points)
edited by s081303

Vielen, Vielen Dank für die rasche Antwort :-)!

Leider scheine ich noch etwas falsch zu machen.

Ich habe die interne Variable DI11 erstellt, diese auf die Fragebogenseite "gezogen" sowie geprüft ob mein Browser Javascript aktiviert hat.

Nichtsdestotrotz funktioniert der nachfolgende Code nicht.

<h2 id="clickHead">Introduction</h2>



<script type="text/javascript">
<!--

var header = document.getElementById("clickHead");
var intVar = document.getElementById("DI11_01");
intVar.value = "1";  // Auf jeden Fall speichern, dass JavaScript aktiv war

SoSciTools.attachEvent(header, "click", function() {
  intVar.value = "2"; // Code 2 = brav gelesen
  SoSciTools.submitPage();  // Und weiter zur nächsten Seite
});

// -->
</script>

Was mache ich falsch?

by SoSci Survey (302k points)
Wenn Sie irgendwo um den Code noch das <script> stehen haben, dann kann ich zumindest spontan keinen Fehler im Code erkennen. Könnten Sie einmal den Anweisungen hier folgen, um den Fehler einzugrenzen: https://www.soscisurvey.de/help/doku.php/de:create:javascript#fehler_finden
by s081303 (150 points)
Was genau meinen Sie mit "...um den Code noch das <script> stehen haben,..:"

Am Anfang des Codes steht <script> sowie am Ende </script>.
 
Wenn ich den Anweisen folge erhalte ich folgende Meldung "

?q=PC&admin&debug&page=1&l=eng:355

Uncaught SyntaxError: Unexpected token"

Hilgt Ihnen dies weiter?
by SoSci Survey (302k points)
Ein wenig ... können Sie auf einen Teil der Fehlermeldung (z.B. die Zeilennummer) klicken, um zu sehen, auf welche Zeile sich der Fehler bezieht? Wenn nicht, öffnen Sie den Fragebogen bitte einmal in Firefox  oder Chrome - da geht das.

Was das <script> angeht: Passt, genau das meinte ich. Sie hatten das <script> nur in Ihrer Antwort nicht mehr enthalten.
by s081303 (150 points)
Die Fehlermeldung bezieht sich auf Zeile 355 "<script type="text/javascript">"
by SoSci Survey (302k points)
Würden Sie dann bitte Ihre Antwort oben nochmal editieren und den kompletten HTML-Code posten? Die Fehlermeldung deutet darauf hin, dass Sie ein "falsches" Anführungszeichen verwendet haben, also statt dem doppelten geraden Anführungszeichen (") z.B. zwei einfache ('') oder ein typografisches, falls Sie den Code z.B. mal nach Word kopiert haben (“).

Und bitte markieren Sie den Code auch und klicken Sie dann das Knöpfchen {}, damit der Code als Code formatiert wird. Danke.
by s081303 (150 points)
Habe die Antwort noch mal editiert und den Code eingefügt :-)

1 Answer

0 votes
by SoSci Survey (302k points)
edited by SoSci Survey

Die Fehlermeldung aus der JavaScript-konsole bezieht sich darauf, dass Sie das -Tag zweimal öffenen:

<script>
<script type="text/javascript">

Die erste Zeile muss jeweils raus bzw. der erste Script-Block kann komplett raus, beim zweiten muss das erste raus.

Aktualisierung

Damit das JavaScript auf die internen Variablen zugreifen kann, muss man die Frage DI11 (interne Variablen) auf die Seite ziehen. Und zwar muss sie über dem JavaScript stehen.

by s081303 (150 points)
Wieder vielen Dank für die rasche Anmerkung!

Habe den oben angeführten Code erneut angepasst - scheinbar habe ich Sie hier jedoch nicht ganz richtig verstanden.

Können Sie noch einmal drüber schauen?
by SoSci Survey (302k points)
Schwierig ohne Pretest-Link. Auf den ersten Blick sieht der JavaScript-Code korrekt aus. Was sagt denn die JavaScript Fehlerkonsole?
by s081303 (150 points)
Die Fehlerkonsole sagt nun TypeError: intVar is null

Hier mal ein Prestestlink https://www.soscisurvey.de/lindench/?q=qnr2
by SoSci Survey (302k points)
Das hilft doch weiter: Es scheint so, dass die Kennung "DI11_01" nicht korrekt ist. Danke für den Pretest-Link. Dort ist u.a. zu erkennen, dass Sie im Impressum das Tag <body> verwenden, welches dort definitiv nichts zu suchen hat.

Die Frage DI11 müssten Sie bitte auch über dem JavaScript-Code auf die Seite ziehen, damit die entsprechenden versteckten Eingabefelder für JavaScript überhaupt zur Verfügung stehen.
by s081303 (150 points)
Perfekt! Die Anordnung der einzelnen Funktionsblöcke war tatsächlich das Problem. Nachdem das Element D11 vor dem HTML Code steht, funktioniert dieser.

Vielen, vielen Dank für die Geduld!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...