1.init(document.form1.select1,document.form1.select2);调用时,页面还没有完全
  加载,所以会报缺少对象
2.可以把所有的方法及方法的调用放到form之后

解决方案 »

  1.   

    可以使用setTimeout
    setTimeout('init(document.form1.select1,document.form1.select2)',1000);
      

  2.   

    楼上二位说的都可以,要不报缺少对象错误,关键是理解js运行时html文档对象的生产期限。至于楼主说的“怎样写才能让函数只调用一次呢”没有明白什么意思。难道
    <script language="javascript">
    init(document.form1.select1,document.form1.select2);
    </script>
    会调用两次或者多次?