注册 登录
编程论坛 JavaScript论坛

为什么firebug总是提醒undefined。。。。明明都定义过了。。很简单的代码求大神看看~

hiyanmeng 发布于 2013-07-17 19:41, 750 次点击
<html>
  <head>
    <title>Options</title>
  </head>
  <script>
      var ProvinceList=document.getElementById('MyProvince');
      if(ProvinceList)
      {
      var nIndex=ProvinceList.selectedIndex;
      }
      else
      {
      alert('No Pro');
      }
  </script>
  <form name='MyForm'>
    <p>Provinces:
      <select name='MyProvince' id='MyProvince'>
        <option value="chooseProvince" selected='selected'>--choose--</option>
        <option value='HuBeiProvince'>HuBei</option>
        <option value='HuNanProvince'>HuNan</option>
      </select>
    </p>
  </form>
  </center>
  </body>
  </html>

3 回复
#2
有容就大2013-07-17 21:55
貌似我这里能运行
#3
hjxlj2013-07-26 11:47
楼主遇到这个问题很正常,这是由于你对页面中的js执行顺序不了解造成的。你页面中的js代码,在id为MyPovince的select元素装载之前就已经执行了。由于这时该select元素还并不存在,所以你js代码中的getElementById函数还得不到该select元素,自然会提示你undefined。另外,你的代码中还缺少一个<body>标签,建议你以一种严谨的态度,将该标签补充上去。
#4
hjxlj2013-07-26 11:51
为了使你对js的执行顺序有所了解,这里向你推荐一篇文章,希望对你有帮助。网址是http://hi.baidu.com/wise/86743_ed/item/3d95263f63e9370bceb9feef?nopager&ssid=0&from=0&bd_page_type=1&pu=sz@1320_1003,tpl@iphone,phoneid@0&sp_jump=579f7e6e7d135cb7&&0=array():
1