Liebes SoSci Survey-Team
Ich habe folgende Frage zu JavaScript und wäre sehr dankbar, wenn Sie mir da allenfalls weiterhelfen könnten.
Ich möchte gerne den Balloon Analogue Risk Task (BART) auf SoSci Survey implementieren – die Vorlage habe ich hier gefunden:
https://timo.gnambs.at/research/bart
Ich habe die entsprechenden Dateien (Code + Sound) auf SoSci Survey hinterlegt und kann das Ganze auch problemlos ausführen.
Allerdings schaffe ich es leider partout nicht, Informationen aus dem Task zu speichern...
Auf SoSci Survey ist das Ganze so als Textbaustein hinterlegt:
<center>
<script type="text/javascript" src="jquery-3.0.0.min.js"></script> <!-- basic javascript library for dom manipulation -->
<script type="text/javascript" src="jcanvas.min.js"></script> <!-- the canvas plugin -->
<script type="text/javascript" src="jquery.bart.js"></script> <!-- the main BART plugin -->
<link rel="stylesheet" type="text/css" href="jquery.bart.css" /> <!-- additional styles for to make the BART look fancy -->
<div id="bart"></div>
<script type="text/javascript">
</script>
<script type="text/javascript">
$(document).ready(function() { // initialize the BART after the page has loaded
});
</script>
<script type="text/javascript">
$(document).ready(function() { // initialize the BART after the page has loaded
// create a BART with 5 balloons
$("#bart").bart( { b: 5, // create 5 balloons
o: { color: 'green', // color of balloons
earnings: 1, // points earned for each pump
popprob: 128, // probability of popping; defined as 1 out of popprop
},
s: { frmids_pumps: ['pump1', 'pump2', 'pump3', 'pump4', 'pump5'], // IDs for hidden form elements used to save the number of pumps for a given balloon
frmids_exploded: ['expl1', 'expl2', 'expl3', 'expl4', 'expl5'], // IDs for hidden form elements used to save whether a balloon exploded
onend: myend // user-defined function invoked after finishing the BART
}
} );
});
// user-defined function invoked after finishing the BART
var myend = function() {
var points = 0;
for(var i = 1; i <= 5; i++) { // run over all balloons
if(Number($('#expl' + i).attr('value')) == 0) {
points = points + Number($('#pump' + i).attr('value')) // get information saved to the hidden form element
}
}
alert('Sie haben ' + points + ' Punkte erreicht.');
}
</script>
</center>
Für SoSci Survey wird hier ja erklärt, wie man interne Variablen mit JavaScript verschalten können sollte: https://www.soscisurvey.de/help/doku.php/de:create:inputs-custom
Da ich mich mit JavaScript aber leider gar nicht auskenne, fahren alle "Lösungen" bisher gegen die Wand. In jedem Fall habe ich eine interne Variable «RA01_01» gebildet, rufe diese auf der entsprechenden Seite des Fragebogens auf und würde in diese nun gerne die Anzahl der Pumpversuche, also points, ablegen.
Können Sie mir da allenfalls helfen?
Mit bestem Dank und besten Grüssen