Javascript fout?

Status
Niet open voor verdere reacties.

marbie94

Gebruiker
Lid geworden
6 sep 2008
Berichten
31
Ik heb een selectbox (<select>) en als je in die selectbox een bepaalde optie kiest moet er nog een selectbox verschijnen. Dit probeer ik mbv javascript maar ik krijg steeds dezelfde foutmelding
[JS]<script type="text/javascript">
var naam1=['optie1','optie2','optie3','optie4']

if (naam1='optie2')
{
document.getElementById("selectbox2").style.visibility = "visible";
}
else
{
document.getElementById("selectbox2").style.visibility = "hidden";
}
</script>[/JS]
Ik gebruik HTML-Kit en die zegt steeds: Kan de waarde van de eigenschap style niet ophalen: de object is null of niet gedefinieerd.

Alvast bedankt,
 
Laatst bewerkt:
De foutmelding die je noemt ontstaat meestal als je getElementById gebruikt voor (boven) de regel waar je het element met dat id aanmaakt. De selectbox met id "selectbox2" moet dus boven je code staan (of je moet van je code een functie maken).

Nu kloppen er nog twee dingen niet in de code die je gepost hebt. Op regel 2 definieer je de variabele "naam1" als array. Op regel 4 wil je dan controleren of "naam1" de waarde "optie2" heeft. Dit zal echter nooit het geval zijn, omdat "naam1" altijd de array ['optie1','optie2','optie3','optie4'] zal zijn.
Ook gebruik je in regel 4 maar een '='-teken, terwijl je bij een vergelijking twee '='-tekens nodig hebt.

Wat je beter kan doen is zoiets:
HTML:
<head>
<script type="text/javascript">
function toonbox(optie)
{
  if (optie == "optie2")
  {
    document.getElementById("selectbox2").style.visibility = "visible";
  }
  else
  {
    document.getElementById("selectbox2").style.visibility = "hidden";
  }
}
</script>
</head>
<body>
<select id="selectbox1" onChange="toonbox(this.value)">
<option>optie1</option>
<option>optie2</option>
<option>optie3</option>
<option>optie4</option>
</select>
<select id="selectbox2">
<option>een optie</option>
</select>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan