Hallo miteinander,
am Anfang des öffentlichen Teils habe ich in den Fragebogen einen Zufallsgenerator ("A001") eingebaut um die Reihenfolge der Seiten je nach zugewiesener Experimentalgruppe zu ändern. Das funktioniert alles soweit genauso, wie es soll.
Jedoch habe ich eine Javascript App in den Fragebogen implementiert, deren Inhalte je nach zugewiesener Experimentalgruppe angepasst werden müssten. Nichts einfacher als das, habe ich gedacht...
Um die grundlegende Funktionsweise zu überprüfen habe ich folgenden Code angelegt:
HTML Code:
<h1>A Anfang</h1>
<h3 id="gruppeninfo">-</h3>
<script type="text/javascript">
window.onload = function(){
document.getElementById("gruppeninfo").innerHTML = "X";
alert("X");
}
</script>
PHP Code:
$code = value('A001');
$html = '<h3>PHP Gruppeninfo: '.$code.'</h3>';
html($html);
Ergebnis: Javascript > innerHTML wird aktualisiert, Alert wird ausgegeben. PHP > korrekter Wert von Zufallsgenerator A001 wird ausgegeben.
Jetzt wird's tricky... alle Versuche den Wert des Zufallsgenerators an Javascript zu übergeben scheitern. Ich habe probiert:
1. PHP Replace
PHP Code: replace('%code%', 'A001', 'response')
JAVASCRIPT Code: var code = %code%;
Dabei war es egal ob ich den PHP Code und JAVASCRIPT Code zusammen im HTML Fenster eingebunden oder den PHP Code im PHP Fenster und den JAVASCRIPT Code im HTML Fenster eingebunden habe. Hat nicht funktioniert.
2. JAVASCRIPT document.getElementById("A001").value
<h1>A Anfang</h1>
<h3 id="gruppeninfo">-</h3>
<script type="text/javascript">
window.onload = function(){
var code = document.getElementById("A001").value;
document.getElementById("gruppeninfo").innerHTML = code;
alert(code);
}
</script>
3. Übergabe JAVASCRIPT Variable an PHP mit json_encode
PHP Code:
$code = value('A001');
HTML Code:
<script type="text/javascript">
window.onload = function(){
var code = <?php echo json_encode($code); ?>;
...
}
</script>
Auch die reine Übergabe mit "echo $code" oder andere Varianten (z.B. mit INT) haben kein verwertbares Resultat gebracht.
Um meine Javascript App passend zur Randomisierung steuern zu können muss ich unbedingt in Javascript auf den Wert des Zufallsgenerators ('A001') zugreifen können. Habt Ihr noch ein paar Tipps für mich?
Beste Grüße
Jürgen