Dit is een site voor studenten van de Open Universiteit. Voordat je een vraag kunt stellen moet je even een account aanmaken (dit systeem is niet gekoppeld aan je OU studentnummer en wachtwoord).

Welkom bij het vraag- en antwoord systeem van de onderzoeks-practica van de studie psychologie bij de Open Universiteit.

Houd er, als je een vraag stelt, rekening mee dat je de richtlijnen volgt!

Hoe verwijs ik in mijn LimeSurvey vragenlijst naar een maand in het verleden of in de toekomst?

0 leuk 0 niet-leuks
Ik wil graag deelnemers vragen naar hoe vaak ze een bepaald gedrag hebben uitgevoerd in het afgelopen half jaar, en ik wil voor de zekerheid de maanden specificeren, maar mijn vragenlijst moet waarschijnlijk langer dan een maand online staan om voldoende deelnemers te verzamelen. Is hier een automatische oplossing voor?
gevraagd 3 april 2015 in Online vragenlijsten door Gjalt-Jorn Peters (42,310 punten)

1 Antwoord

0 leuk 0 niet-leuks

Hier zijn twee dingen voor nodig. Ten eerste heb je een functie nodig om een andere maand te berekenen. Deze moet je in de broncode van de survey description plaatsen. Klik op 'Edit text elements' onder het potloodje:

En klik dan bij 'Description' op 'source':

Copy-paste dan deze tekst:

<script>
function shiftMonth(shift, addYear) {
  var month = new Array();
  month[0] = "januari";
  month[1] = "februari";
  month[2] = "maart";
  month[3] = "april";
  month[4] = "mei";
  month[5] = "juni";
  month[6] = "juli";
  month[7] = "august";
  month[8] = "september";
  month[9] = "oktober";
  month[10] = "november";
  month[11] = "december";

  var d = new Date();
  var n = d.getMonth();
  var y = d.getFullYear();
 
  var m = n + shift;

  if (m < 0) {
    m = m + 12;
    y = y - 1;
  }

  if (m > 11) {
    m = m - 12;
    y = y + 1;
  }

  m = typeof addYear !== 'undefined' ? month[m] + " " + y : month[m];

  return(m);

}
</script>

Vervolgens ga je naar de vraag waar je de maand of maanden wil noemen. Edit de vraagtekst, en klik weer op 'source':

Plaats vervolgens op de plek waar je de maand wil zien verschijnen, de volgende tekst:

<script>document.write(shiftMonth(-6));</script>

Hierbij moet je de -6 vervangen door de aanpassing die je wil. Als je de huidige maand wil, neem je 0; als je twee maanden in de toekomst wil, neem je 2; en als je twee maanden geleden wil, neem je -2. In het voorbeeld hierboven staat er bijvoorbeeld in totaal:

<div class="heading" style="background:black;color:white;padding:3px;font-size:120%;">
    De afgelopen 6 maanden (<script>document.write(shiftMonth(-6));</script>, <script>document.write(shiftMonth(-5));</script>, <script>document.write(shiftMonth(-4));</script>, <script>document.write(shiftMonth(-3));</script>, <script>document.write(shiftMonth(-2));</script>en <script>document.write(shiftMonth(-1));</script>)</div>

En in de survey ziet dat er dan zo uit:

Als je het jaar toe wil voegen, gebruik je:

<script>document.write(shiftMonth(-6, addYear="yes"));</script>

Het correcte jaar wordt dan achter de maand geplaatst.

beantwoord 3 april 2015 door Gjalt-Jorn Peters (42,310 punten)
bewerkt 3 april 2015 door Gjalt-Jorn Peters
...