你多利用alert(obj.tagName);alert(obj.id);
来看你传入的obj对象是什么。怀疑你的obj=obj.offsetParent这句话有问题,
具体你再看msdn。看看obj.offsetParent是什么意思。

解决方案 »

  1.   

    可能你的var obj=Item; 这句话不对,试试
    var obj=window.document.getElementById(Item.id)
      

  2.   

    最大的可能:Item参数不是对象,而是对象的id之类的东西
      

  3.   

    我也认为Item,可能不是对象,用typeof试试,看看是不是对象.
      

  4.   

    alert(typeof(Item));及alert(typeof(obj));的输出值都为object
    其中的Item代表的是多个文本框的ID变量
    在while前的alert(obj);的输出输出值还是object
    while后的alert(obj);输出值就是Null了,请问这种情况如何解决呢?
      

  5.   

    alert(obj.tagName + " , " + obj.offsetParent.tagName)
    看看是什么
      

  6.   

    楼主没搞清楚下面这段代码的作用啊。
    while(obj=obj.offsetParent)
    {
    t+=obj.offsetTop;
    l+=obj.offsetLeft;
    }这段代码其实是写的比较精妙的,用于定位html元素在页面中的绝对位置(在网上copy来copy去被用的很多)。请注意看一下,while中间用的代码是obj=obj.offsetParent,是一个赋值语句。所以这句while语句同时完成了两个动作:1.将obj赋值为它的offsetParent;2.判断obj是否为object,是的话执行while循环中的语句。
    也就是说,这个循环会不断循环,直到找不到obj的offsetParent为止。这样就能够循环相加得到html元素的绝对位置。循环在结束的时候,obj是必然为null的,因为这个正是循环跳出的条件。所以说,如果你还要利用最初的obj的话,要么就直接引用Item,要么另外定义一个变量来使用。
      

  7.   

    while(obj=obj.offsetParent)
    {
    t+=obj.offsetTop;
    l+=obj.offsetLeft;
    }
    你的出错的我还没找到是那里问题,不过要回应一下你上面的问题,上面语句是当obj为null时退出循环,你在while后的alert(obj)当然是null啦。
      

  8.   

    alert(obj.tagName + " , " + obj.offsetParent.tagName)
    看看是什么
    返回INPUT,TD
    ==============
    ONCLICK=setValue(this,obj)把这里的obj换成Item错误提示是:
    Item未定义
    ==============
    在定义一次变量var OBJ=Item;或者 var OBJ=window.document.getElementById(Item.id);
    在ONCLICK=setValue(this,OBJ)错误提示是OBJ未定义
    ============================
    function setValue(Item,TXT)
    {
    //document.all["sel"].style.display='none';
    //TXT.value=Item.innerText;
    }
    这个函数已经不起作用了,错误就是在ONCLICK=setValue(this,OBJ)这里
      

  9.   

    页面中的文件
    <DIV ID="sel" STYLE="padding:3;height:40;BORDER: #6699CC 1px solid; POSITION: absolute;width:0;background-color:#F8F8F5;display:none;cursor:default">
    </DIV>
      

  10.   

    这样当然未定义啦,obj只是你函数里的变量!
    改为
    ONCLICK=setValue(this,'"+obj.uniqueID+"')obj.uniqueID返回唯一的ID号setValue中引用document.all(obj_id)来得到你要的obj.