如下:
<input id="AAA" name="AAA" value="100" type="text" />
<script src="123.js"></script>
<script>chk();</script>123.js
function chk(){var mp=document.getElementById("AAA").value;
//……
}
问题就是,如果这样在加载html的时候自动加载chk这个函数,会报错,提示找不到对象,也就是AAA,但是如果在函数的第一行加一个alert,随便alert什么,就能正常运行,这个是啥情况?

解决方案 »

  1.   

    另外一个就是,如果修改成非自动加载,而是button onclick的形式,也会正常运行
      

  2.   

    <script src="123.js"></script>
    外部引用加载需要时间无ALERT未加载完就直接运行了chk();alert暂停了chk();运行可以<body onload="chk()">执行
      

  3.   

    页面有没有使用母版页之类的东西?
    确定页面显示后 INPUT的ID是AAA
    你可在页面显示出来后 使用查看源码 来查看此时INPUT的ID
      

  4.   

    文档还没有加载就访问是找不到元素的,在window.onload里面执行那个方法
      

  5.   

    需要在页面加载时执行的script最好在onload事件中或者body标记内执行。
    html是顺序加载页面的,在执行script的时候,document.getElementById("AAA")要取得的aaa的element还没有加载完成,所以才会出现这样的问题。
      

  6.   

    前面页面的表单部分是用ajax取的,有可能是这个问题。。但是修改为body onload似乎还是报错。。傻眼再试试看看,。感谢大家的回复!
      

  7.   

    找到了一个解决办法function openchk(){ 
    chk();

    var oTime = window.setTimeout("openchk()",3000); //延时3秒执行
      

  8.   


    楼主你这个方法不行,如果3秒后dom还没加载一样会出错
    window.onload = function(){
    openchk();
    }