# Html5 Formularfelder dynamisch einblenden funktioniert nicht



## wmcig (26. Juni 2019)

Hallo,

ich bin kein Neuling mit HTML5 und CSS3. Doch weitere Sprachen zur Programmierung sind nicht so mein Fall.

Ich habe ein Formular erstellt, in dem Felder bei Bedarf eingeblendet werden sollen.

Es geht um folgenden Code Ausschnitt:

```
<div class="row">
<div class="grid-4 label"><label>Werden andere Einkünfte erzielt?</label></div>
<div class="grid-s-12 grid-3"><select id="einkuenfte1" name="einkuenfte1" onchange="einblenden()"><option value="1">Nein</option><option value="2">Ja</option></select></div>
    </div>
<div class="row">
    <div class="grid-s-4 grid-3"><input id="einkuenfte2" type="text" name="einkunftshoehe1" placeholder="Höhe der Einkünfte angeben" value="" style="display: none";></div>
    <div class="grid-s-4 grid-3"><input type="text" name="arbeitgeberanschrift1" placeholder="Adresse des Arbeitgebers angeben" value=""></div>
   <div class="grid-s-12 grid-3"><select name="einkuenfte_nachweis1"><option value="1">Ja</option><option value="2">Nein</option></select></div>
    </div>
</p>
```

Der dazugehörige Javascript Code befindet sich im header:

```
<script type="text/javascript">
    function einblenden(){
        var select = document.getElementById('einkuenfte1').selectedIndex;
        if(select == 2) document.getElementById('einkuenfte2').style.display = "block";
        else document.getElementById('einkuenfte2').style.display = "none";       
    }
</script>
```

Das Attribut body hat ein  onload="einblenden()" bekommen.

Doch das Einblenden der Felder bei der Auswahl "Ja" funktioniert nicht und ich weiss nicht warum.

Weiss jemand Rat dazu?


----------



## basti1012 (26. Juni 2019)

Warum onload ?
Gib den Select mal ein onchange,  und zwar so
**** Link entfernt, weil Seite nicht mehr erreichbar ****

Besser wäre es, aber wenn du addEventListener benutzt


----------



## StormChaser (26. Juni 2019)

Naaa, das Problem ist die Abfrage auf 2.
Geliefert werden aber  0 und 1.


----------



## basti1012 (26. Juni 2019)

du fragst den index ab . der index ist die 2 stelle   und javascript zählt ab 0. also ist die 2 stelle 1 .   du siehst ja im code das es geht .
Dann must du das
.selectedIndex;
in das
.value;
ändern dann  reagiert er auch auf die 1 und 2 im value.

habe das im code gerade geändert


----------

