Javascript 访问表单元素

Javascript 访问表单元素,javascript,select,dynamic,dom-events,Javascript,Select,Dynamic,Dom Events,下面的代码在操作选择框中的选项时运行良好,但当我将其放入表单中时,它不起作用。请帮忙 <html> <head> <title>Category list</title> <script type="text/javascript"> var categories=new Object(); categories['Accessories'] = 'Cosmetics/Perfumes|Jewellery|Hand

下面的代码在操作选择框中的选项时运行良好,但当我将其放入表单中时,它不起作用。请帮忙

<html>
<head>
<title>Category list</title>
<script type="text/javascript">
var categories=new Object();

categories['Accessories'] = 'Cosmetics/Perfumes|Jewellery|Handbags|Shoes|Watches';
categories['Entertainment/Media'] = 'Videos/Movies|Art|Photo|News|Television|Music';
categories['Automobile'] = 'Cars| Motorcycles| Tools & Supplies| Accessories';
categories['Books & Magazines'] = 'eBooks| Audio Books| Books| Magazines';
categories['Business & Career'] = 'Real Estate| Office| Productivity Tools| Employment| B-TO-B| Marketing';
categories['Apparel'] = 'Childrens| Mens| Womens';

function subcat(elem)
{
 var catarr;
 var subb=document.getElementById("subcat");
 subb.disabled=false; 
 subb.length=0;
 var cat=elem.options[elem.selectedIndex].text;
 
 if(categories[cat])
 {
   
  catarr=categories[cat].split('|');
  subb.options[0]=new Option('select subcat',' ');
  for(var i=0; i<catarr.length; i++)
  {
     subb.options[i+1]=new Option(catarr[i],catarr[i]);
  }
  
 }
 
}
</script>
</head>
<body>
<select id="cat" onChange="subcat(this,subcat)" style="width:200px;">
<option value="" selected="selected">Select Category</option>
<option value="">Accessories</option>
<option value="">Entertainment/Media</option>
<option value="">Automobile</option>
<option value="">Books & Magazines</option>
<option value="">Business & Career</option>
<option value="">Apparel</option>


</select>
</br>
</br>
<select id="subcat" style="width:200px; " disabled="true">

</select>
</body>
</html>

类别列表
var categories=新对象();
类别[“配件”]=“化妆品/香水|珠宝|手袋|鞋|手表”;
类别[“娱乐/媒体”]=“视频/电影|艺术|照片|新闻|电视|音乐”;
类别[“汽车”]=“汽车|摩托车|工具和用品|附件”;
类别[“书籍和杂志”]=“电子书|有声书籍|书籍|杂志”;
类别[“商业与职业”]=“房地产|办公室|生产力工具|就业| B-TO-B |营销”;
类别[“服装”]=“儿童|男士|女士”;
功能子类别(元素)
{
var-catar;
var subb=document.getElementById(“subcat”);
subb.disabled=false;
子B.长度=0;
var cat=elem.options[elem.selectedIndex].text;
如果(类别[类别])
{
catarr=类别[cat]。拆分(“|”);
子选项[0]=新选项('select subcat','');

对于(var i=0;i这似乎是一个名称冲突问题。您已使用相同的名称命名JavaScript函数和Select,即subcat。请对每个函数进行唯一命名,以便在解析名称时不会出现歧义。例如

<html>
<head>
<title>Catogery list</title>
<script type="text/javascript">
var catogeries=new Object();

catogeries['Accessories'] = 'Cosmetics/Perfumes|Jewelry|Handbags|Shoes|Watches';
catogeries['Entertainment/Media'] = 'Videos/Movies|Art|Photo|News|Television|Music';
catogeries['Automobile'] = 'Cars| Motorcycles| Tools & Supplies| Accessories';
catogeries['Books & Magazines'] = 'eBooks| Audio Books| Books| Magazines';
catogeries['Business & Career'] = 'Real Estate| Office| Productivity Tools| Employment| B-TO-B| Marketing';
catogeries['Apparel'] = 'Childrens| Mens| Womens';

function GetSubCategeries(elem)
{

 var catarr;
 var subb=document.getElementById("subcat");

 subb.disabled=false; 
 subb.length=0;
 var cat=elem.options[elem.selectedIndex].text;

 if(catogeries[cat])
 {

  catarr=catogeries[cat].split('|');
  subb.options[0]=new Option('select subcat',' ');
  for(var i=0; i<catarr.length; i++)
  {
     subb.options[i+1]=new Option(catarr[i],catarr[i]);
  }

 }

}
</script>
</head>
<body>
<form>
<select id="cat" onChange="GetSubCategeries(this,subcat)" style="width:200px;">
<option value="" selected="selected">Select Catogery</option>
<option value="">Accessories</option>
<option value="">Entertainment/Media</option>
<option value="">Automobile</option>
<option value="">Books & Magazines</option>
<option value="">Business & Career</option>
<option value="">Apparel</option>


</select>
</br>
</br>
<select id="subcat" style="width:200px; " disabled="true">

</select>
</form>
</body>
</html>

目录表
var catogeries=新对象();
catogeries[“配件”]=“化妆品/香水|珠宝|手袋|鞋|手表”;
catogeries[“娱乐/媒体”]=“视频/电影|艺术|照片|新闻|电视|音乐”;
catogeries[“汽车”]=“汽车|摩托车|工具和用品|配件”;
catogeries[“书籍和杂志”]=“电子书|有声读物|书籍|杂志”;
catogeries[“商业与职业”]=“房地产|办公室|生产力工具|就业| B-TO-B |营销”;
catogeries[“服装”]=“儿童|男士|女士”;
函数GetSubCategories(元素)
{
var-catar;
var subb=document.getElementById(“subcat”);
subb.disabled=false;
子B.长度=0;
var cat=elem.options[elem.selectedIndex].text;
if(catogeries[cat])
{
catar=catogeries[cat].split(“|”);
子选项[0]=新选项('select subcat','');
对于(var i=0;i