母页面中:
<script language="text/JavaScript" src="sell.js" ></script>
......
有个下拉框:onchange时调用 selpt()这个函数
<select name="pt" id='ptid' onChange="javascript:if (this.value!=0) {document.getElementById('id_koudian').value=subcat[this.value]} else {document.getElementById('id_koudian').value=0};selpt(this.options[this.selectedIndex]); ">.......函数如下:
function selpt(tempobj)
{//var temp=document.all.getElementById('ptid')
var temp_text=tempobj.text;
if (tempobj.value==0){
document.getElementById('lianxiff').disabled=true;
}
else{
document.getElementById('lianxiff').disabled=false;
}
if (temp_text.indexOf("不在")<0)
{document.getElementById('ptspan').innerHTML='';
}//end of <0
else
{
alert("选择"); }
}将函数放在母页面里时可以执行,但是将函数放在js文件中后,通过<select>控件就没办法调用这个函数了。
总是提示缺少对象,不知道为什么
我已经检查过文件的编码了,编码一致的。

解决方案 »

  1.   

    应该是母版页中,服务器控件的生成的html里id会改变js查找不到了吧你查看html源文件,看生成的id是什么,复制过去
      

  2.   

    id 没有变的。我在js文件里写了个很简单的函数
    function aa()
    {alert("调用");
    }
    这个函数在母页都没法调用。
    很奇怪的是js文件中很多函数,有的函数可以调用,有的不可以,一种没想明白怎么回事。
      

  3.   

    先用debugger查一下是什么没有对象啊,有可能不是方法本身的问题。
    一步一步调试出来找到具体的原因是什么,就好解决了
      

  4.   

    直接放一个空函数
    function aa()
    {}
    也是提示 缺少对象
      

  5.   

    空函数都不能调?可能是你那个sell.js没有刷新。你把浏览器的缓存清空,然后狂按F5多刷几遍看看?我以前也碰到过这样的用的IE6原因不知道。
      

  6.   

    应该是路径问题。
    母版路径与js文件的相对路径同你当前页面与js文件的相对路径不一样的。
    但是客户端解析的时候一母版路径作为当前参考点。要引用js文件最好在母版里面加一次,要引用的页面也加一次。
      

  7.   

    <script language="text/JavaScript" src="sell.js" > </script> ----><script type="text/javascript" src="sell.js" > </script> 
      

  8.   

    初次遇到这个问题,是用了JQuery之后,不知道思路是不是正确