Я пытаюсь создать простую функцию javascript, которая будет заполнять 2 раскрывающихся окна, один для возраста, а другой для пола.
Однако функции не работают, и я не могу понять, почему. Любая помощь будет оценена.
Код:
<head>
<script type="text/javascript">
function AgeDropDown(){
var list=getElementById(UserProfileAge);
for(var i=1;i<100;i++)
{
var opt = document.createElement("option");
opt.value= i;
UserProfileAge.appendChild(opt);
}
}
function genderlist(){
var choices=new array["M","F"];
for(i=0;i<choices.length;i++)
{
var opt = document.createElement("option");
opt.value= i;
UserProfileGender.appendChild(opt);
}
}
</script>
</head>
<body>
<?php
include("usermenubar.inc");
?>
<form id='UserProfile' name='UserProfile' method='POST' action='editdetails.php'>
<div class='UserDetails'><!--dropdown-->
Age:<select id='UserProfileAge' name='UserProfileAge' onclick='AgeDropDown'>
<option value=''>Please enter your age</option>
</select>
</div>
<div class='UserDetails'><!--Dropdown-->
Gender:<select id='UserProfileGender' name='UserProfileGender' onclick="genderlist">
<option value=''>Please enter your gender</option>
</select>
</div>
<input type='submit' name='UserProfleSubmit' value='Save Changes'/>
</form>
</body>
</html>
Это может помочь:
function load(){
AgeDropDown();
genderlist();
}
function AgeDropDown(){
var list=document.getElementById("UserProfileAge");
for(var i=1;i<100;i++)
{
var opt = document.createElement("option");
opt.value= i;
list.appendChild(opt);
}
}
function genderlist(){
var choices=new array["M","F"];
for(i=0;i<choices.length;i++)
{
createOption(document.getElementById("UserProfileGender"));
}
}
Ваши функции загружаются, но они никогда не исполняются, потому что они никогда не вызываются. Вы должны вызвать функцию в какой-то момент в вашем html файле. Лучшая практика заключается в том, чтобы запустить код инициализации, например, при событии onload на странице.
<script>
function load()
{
AgeDropDown();
genderlist()
}
...
</script>
<body onload="load()">