0 votes
in SoSci Survey (dt.) by s100963 (230 points)
edited by s100963

Liebes Support-Team,

ich würde gerne für den Fall, dass eine Person in einem Eingabefeld eine Zahl größer 150 eingibt, einen Hinweistext einblenden und bekomme es nicht wirklich hin. Es wäre wichtig, dass Personen, die eine Zahl eingeben, die kleiner gleich 150 Jahre ist, diesen Text nicht sehen.
Zum einen weiß ich nicht, ob ich so einfach über Javascript auf einen Textbaustein zugreifen kann. Zum anderen bin ich mir nicht sicher, ob der von mir gewählte Weg mit parseint() wirklich funktioniert.

Hier mein Versuch:

<script type="text/javascript">
<!--
var wish2 = document.getElementById("PS08_01"); 
var text = document.getElementById("wishmaxage125");
 
function toogletext() {
  console.log(wish2);
  console.log(wish2.value);
  if (parseInt(wish2.value) > 150) {
    text.style.display = "";
  } else {
    text.style.display = "none";
  }
}

SoSciTools.attachEvent(wish2, "keyup", toogletext);
 
toogletext();
</script>

Vielen herzlichen Dank!

1 Answer

0 votes
by SoSci Survey (323k points)
selected by s100963
 
Best answer

Spontan sehe ich zwei Fehlerchen:

Zum einen muss das

var wish3 = parseint(wish2);

... in der Funktion toogletext() stehen und etwas anders aussehen:

var wish3 = parseInt(wish2.value);

(großes "I" bei parseInt() nicht vergessen)

Und zum zweiten kann ich nicht sehen, ob die ID des Textelements hat.

Generell ist es aber schweirig, JavaScript-Fehler ohne Kontext zu finden. Bitte posten Sie nach der obigen Korrektur unbedingt den Inhalt der JavaScript Fehlerkonsole in Ihrem Browser.

by s100963 (230 points)
Vielen Dank dafür!
Bei der ID des Textelements komme ich auch nicht weiter. Das Textelement heißt wishmaxage125, aber das scheint nicht die ID zu sein.

Meinen Sie einen Pretest-Link?

https://geronto.fau.de/sosci/agingasfuture-t4/?act=VhSSexlkX08UuOJrdLGH7Oie
by SoSci Survey (323k points)
Der text hat bisher überhaupt keine ID. Das würde sich ändern, denn Sie den Text direkt im Fragenkatalog anlegen (erst möglich ab SoSci Survey Version 3.0) oder wenn Sie folgenden HTML-Code verwenden:

<div class="feedback" id="wishmaxage125">Vielleicht wissen Sie, dass bisher nur ein Mensch älter als 120 Jahre geworden ist. Wir bitten Sie deswegen um eine realistische Antwort, die ein Lebensalter von 150 Jahren nicht überschreitet.</div>
by s100963 (230 points)
Vielen Dank für den Hinweis.
Es gab noch einen weiteren kleinen Fehler: Wenn die Variable wish3 bereits zu Beginn definiert wird, scheint sie sich nicht nach jedem "keyup" upzudaten. Ich habe es jetzt gelöst, indem ich nur mit wish2 arbeite. Ich werde gleich noch oben den Code editieren, falls das funktioniert.

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

...