Javascript DIV verbergen/tonen via dropdown

Status
Niet open voor verdere reacties.

kereltje

Nieuwe gebruiker
Lid geworden
7 mei 2010
Berichten
1
Beste mensen,

ik heb hier een script en het wil niet werken...
In de foutconsole krijg ik de melding:
Fout: document.getElementById(show.arguments) is null
Regel: 10

Ik zou niet weten waarom dat zo is.
Hier mijn code:

Code:
<html>
<head>

<script type="text/javascript"> 
function show(object) {
value = object.options[object.selectedIndex].value
items = show.arguments.length

for(i=1;i<=(show.arguments.length);i++)
{ document.getElementById(show.arguments[i]).style.display = 'none'
} 
document.getElementById(value).style.display = 'block'
}
</script>

</head>
<body>
<form>
<select name='type' WIDTH='270' STYLE='width: 270px' class='select' onchange='show(this, "Student", "Alumnus", "Extern", "Bedrijf", "Medewerker")'>
	<option value='Student'>Student</option>
	<option value='Alumnus'>Alumnus</option>
	<option value='Extern'>Extern</option>
	<option value='Bedrijf'>Bedrijf</option>
	<option value='Medewerker'>Medewerker</option>
</select>

<div id='Student' style='display:block'>Studiefase: </div>
<div id='Alumnus' style='display:none'>Studie: </div>
<div id='Extern' style='display:none'>Type alumnus: </div>
<div id='Bedrijf' style='display:none'>Bedrijfsnaam: </div>
<div id='Medewerker' style='display:none'>Functie: </div>
</form>

</body>
</html>

Hebben iemand hier enig zicht op?

Kereltje.
 
Je hebt <= waar dat < moet zijn. :)

De arguments.length == 6 en dan heb je de arguments[0] t/m arguments[5]

arguments[6] bestaat niet en is dan inderdaad 'null'.


Maar het kan ook korter: ;)
[js]<html>
<head>

<script type="text/javascript">

function show(obj) {
for(var i = 0; i < obj.options.length; i++) {
document.getElementById(obj.options.value).style.display = (i == obj.selectedIndex ? 'block' : 'none');
};
};

</script>

</head>
<body>
<form>
<select name='type' WIDTH='270' STYLE='width: 270px' class='select' onchange='show(this)'>
<option value='Student'>Student</option>
<option value='Alumnus'>Alumnus</option>
<option value='Extern'>Extern</option>
<option value='Bedrijf'>Bedrijf</option>
<option value='Medewerker'>Medewerker</option>
</select>

<div id='Student' style='display:block'>Studiefase: </div>
<div id='Alumnus' style='display:none'>Studie: </div>
<div id='Extern' style='display:none'>Type alumnus: </div>
<div id='Bedrijf' style='display:none'>Bedrijfsnaam: </div>
<div id='Medewerker' style='display:none'>Functie: </div>
</form>

</body>
</html>[/js]
De functie show() haalt zo de id's uit de options op en geeft alleen die die geselecteerd is weer. :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan