我正在尝试创建一个简单的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>
答案 0 :(得分:1)
这可以提供帮助:
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"));
}
}
答案 1 :(得分:0)
您的函数正在加载,但它们永远不会被执行,因为它们从未被调用过。您必须在html文件中的某个位置调用该函数。它是运行初始化代码的最佳实践,例如页面的onload事件。
<script>
function load()
{
AgeDropDown();
genderlist()
}
...
</script>
<body onload="load()">