0 votes
in SoSci Survey (dt.) by s105555 (110 points)

Ich möchte gerne das Feld einer "offenen Nennung" vorausfüllen. Problem ist zusätzlich, dass das Feld der "offenen Nennung" zuvor ausgeblendet wird:

<style type="text/css">
div[id="FK01_qst"]{
display: none;
}
</style>

Im Nachhinein wird es über ein Klick-Event wieder angezeigt:

<script>
document.addEventListener('DOMContentLoaded', function(event) {
    var commentCheckBox = document.getElementsByName("FA01_02")[0];
    var commentInput = document.getElementById("FK01_qst");

    commentCheckBox.addEventListener("click",function(){
        commentInput.style.display = this.checked ? "block" : "none";
    });
});
</script>

Ich würde gerne "placeholder= " verwenden, weiß aber nicht, wo ich dieses Attribut einfügen kann, damit es angezeigt wird, der Rest aber unverändert bleibt.

Vielen Dank!

1 Answer

0 votes
by SoSci Survey (327k points)

Problem ist zusätzlich, dass das Feld der "offenen Nennung" zuvor ausgeblendet wird:

Nun, bei den "offenen Nennungen" ist das beabsichtigt. Wenn Sie alle Felder vorab anzeigen möchten, dann verwenden Sie bitte den Fragetyp "Texteingabe offen".

Dort können Sie dann auch gleich einen Eingabehinweis ("placeholder") festlegen. Wählen Sie dafür das Eingabefeld links im Fragenkatalog zum Bearbeiten aus.

by s105555 (110 points)
In diesem Fall ist es Absicht, dass das Textfeld vorerst ausgeblendet ist.
Der gewünschte Ablauf wäre wie folgt:
1. Textfeld wird nicht angezeigt.
2. Klickt man auf einen bestimmten Button, wird das Textfeld angezeigt, damit man dort etwas eintragen kann.
3. Das nun angezeigte Textfeld sollte einen "placeholder" enthalten.

Demnach möchte ich nur noch "placeholder" beim momentanen Aufbau ergänzen, weiß aber nicht, wo ich das einfügen kann, damit es auch angezeigt wird.
by SoSci Survey (327k points)
Versuchen Sie es mit folgenden HTML-/JavaScript-Code unter der Frage. Ich nehme einmal an, diese hat die Kennung FK01:

<script type="text/javascript">
document.getElementById("FK01a").setAttribute("placeholder", "Hier Text 1");
document.getElementById("FK01b").setAttribute("placeholder", "Hier Text 2");
</script>
by s105555 (110 points)
Vielen Dank für Ihre Rückmeldung!
Bedauerlicherweise wird das Textfeld immer noch blank angezeigt, also ohne vorausgefülltem Hinweis.
Kopiere ich den Code vor den Bereich

<style type="text/css">
    div[id="FK01_gst"]{
    display: none;
    }
</style>

wird das Testfeld direkt angezeigt und nicht zuerst "versteckt", aber auch dort ändert sich das Textfeld selbst nicht. Es wird mir jedoch auch kein Fehler angezeigt.
by SoSci Survey (327k points)
Ich kann noch nicht ganz nachvollziehen, weshalb Sie den CSS-Code noch benötigen.

Aber vielleicht möchten Sie einfach mal einen Pretest-Link direkt (!) zur betroffenen Seite posten? Dann kann ich Ihnen zumindest einen Tipp geben, weshalb die Texte nicht angezeigt werden. Sie können alternativ auch selbst einmal in die JavaScript-Fehlerkonsole Ihres Browsers schauen.
by s105555 (110 points)
Vielen Dank für Ihre Hilfestellung. Da es zu viel Zeit in Anspruch nimmt, dass Design in dieser Hinsicht passen zu verändern, haben wir uns gegen eine Umsetzung entschieden.
Der CSS-Code soll das Kommentarfeld vorerst ausblenden. Erst beim Klick auf einen Button, soll es eingeblendet werden.
by SoSci Survey (327k points)
> Der CSS-Code soll das Kommentarfeld vorerst ausblenden. Erst beim Klick auf einen Button, soll es eingeblendet werden.

Ich diesem Fall empfehle ich, das Ausblenden nicht via CSS-Code auf der Seite zu realisieren, sondern mittels JavaScript-Code direkt beim Laden der Seite - dort wo Sie auch den Code zum Einblenden definieren.

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

...