0 votes
in SoSci Survey (dt.) by s109993 (12.0k points)

Wenn ich ein JS Script (gibt es das: ein Java Script Script?) und ein PHP- Code auf einer Seite liegen habe, werden diese von oben nach unten ausgeführt, oder gibt es da eine Prio-Folge?

Zum Beispiel: wenn ich ein JS Script ganz oben auf einer Seite einbaue und darunter einen PHP-Code mit goToPage(); Würde dann erst das JS ausgeführt werden bevor PHP mich auf die neue Seite führt?

1 Answer

0 votes
by SoSci Survey (327k points)
selected by s109993
 
Best answer

Ja, danke schon ... JavaScript ist die Programmiersprache, und ein Script in dieser Sprache ist dann ... okay, kümmern wir uns um die wichtigen Fragen :)

PHP und JavaScript laufen in unterschiedichen Phasen der Fragebogen-Erstellung:

Phase 1: PC fragt SoSci nach einem Fragebogen (Klick auf den Fragebogen-Link)

Phase 2: SoSci erstellt die Fragebogen-Seite, also den HTML-Code inkl. JavaScript- und CSS-Code und schickt diesen an den Browser. Beim Erstellen der Seite auf dem Browser läuft der PHP-Code der Seite.

Phase 3: Der Browser bekommt das HTML-/JS-/CSS-Paket, und rendert dann die Seite - an dieser Stelle erst wird das JavaScript ausgeführt (also im Browser beim Befragten).

Phase 4: Der Teilnehmer klickt auf "Weiter" und übermittelt damit die Antworten an den Server. Dort werden die Antworten verarbeitet, und dann geht es wieder zu Phase 1.

by s109993 (12.0k points)
Verstehe ich es also richtig, dass der PHP Code in Schritt zwei ausgeführt wird und JS erst, wenn die Informationen vom Server zum Browser gelangt sind- also in Schritt 3:

Ich habe dieses hübsche Script auf einer leeren Seite und würde gerne erreichen, dass das Script ausgeführt wird und danach auf eine andere Seite gesprungen wird- ist das dann überhaupt möglich? Nach ihren Informationen würde ja dann zuerst der goToPage() Befehl ausgeführt werden und dann wäre es zu spät um das Script auszuführen.

<script>

window.addEventListener("load", function() {
console.log('The window has finished loading!');
  window.parent.postMessage({ event: 'response', func: 'update_stored' }, "*");
});

</script>

--------------------------------

goToPage('test1');
by SoSci Survey (327k points)
Ja, korrekt.

> dass das Script ausgeführt wird und danach auf eine andere Seite gesprungen wird

Fügen Sie unter dem .postMessage() einfach noch folgendes ein:

SoSciTools.submitPage();

Das drückt quasi den Weiter-Knopf der Fragebogen-Seite, der übrigens auch mittels .display = "none" ausgeblendet sein kann.

Wenn Sie auf eine spezielle Seite springen möchten, können Sie das entweder auf der nächsten Seite mit einem zusätzlichen goToPage() erreichen, oder Sie binden via buttonToPage() weitere (ggf. ausgeblendete) Knöpfe ein, die Sie dann via .click() nach Bedarf verwenden.
by s109993 (12.0k points)
Super, das scheint ersteinmal zu funktionieren - danke!

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

...