小弟编写的网页在本机上跑的好好的,但是传到服务器上测试的时候,也许是因为浏览器的原因(我猜的)总报脚本错误这是为啥啊?请各位高手给予解答,谢谢了!document.getElementById.item("lblUserName").innerText = "用户名不允许为空!";对象不支持此属性或方法
=======================================================================
function GetLength(str)
    {
        var len = 0;
        for(var i = 0; i < str.length; i++) 
        {
          if(str.charCodeAt(i) < 0x80) 
          {
            len++;
          }
          else
          {
            len += 2;
          }
        }
        return len;
    }
对象不支持此属性或方法

解决方案 »

  1.   

    document.getElementById('lblUserName').text试试看行不 我也不大明白
      

  2.   

    innerText 改为 
    innerHTML 试试
      

  3.   

    document.getElementById("lblUserName").innerText 
    or
    document.getElementById("lblUserName").innerHTML 
      

  4.   

    document.getElementById("lblUserName").innerHTML 
    不要使用document.getElementById("lblUserName").innerText 火狐浏览器不支持innerText 
      

  5.   

    RS~~检查下lblUserName是用什么控件或标签的~~有些属性不存在或不被支持~
      

  6.   

    document.getElementById("lblUserName").innerText = "用户名不允许为空!";
      

  7.   

    document.getElementById("lblUserName").innerHTML 
      

  8.   

    document.getElementById.item("lblUserName") 你这里的item是什么?应该是这个吧:
    document.getElementById("lblUserName").innerText
      

  9.   


    document.getElementById("lblUserName").innerHTML 
      

  10.   


    这个不行的,再说只有option才有textlabel在客户端的代码是<span></span>
      

  11.   

    用jquery写吧,省力很多,现在阿猫阿狗的浏览器太多了,烦的要死,纯粹浪费青春
      

  12.   

    document.getElementById(ElementID).innerHTML ="...";
      

  13.   

    document.getElementByName("lblUserName")试一下记得要给控制加上name="lblUserName"...
      

  14.   

    firefox 不支持innerText所以建议使用innerHTML
      

  15.   

    document.getElementById("lblUserName").innerHTML
      

  16.   

    如果只是报脚本错误,而不影响使用的话,可以在head里加脚本
    <script language="javascript" type="text/javascript">
        window.onerror = function()
        {
            return true;//不显示脚本错误信息
        }
    </script>
      

  17.   

    document.getElementById("lblUserName").textContent
    document.getElementById("lblUserName").innerHTML
      

  18.   

    jsp运行在客户端,如果lblUserName是服务器控件就不行了。你可以用其它验证方法去判断。
      

  19.   

    不好意思各位,第二个问题写错了,是“return在方法之外(大意,原话记不住了)”,我很不理解这是为什么为什么?麻烦大家再帮帮忙,谢了!!!!
      

  20.   


    确定传入的参数str是字符串吗??
      

  21.   


    return 在方法体外???
      

  22.   

    回楼上的,你没看错,str的确是字符串,我在自己机器上Debug完全没问题(winxp,ie7,vs2005,sql2005,iis)但是网站发布之后放到服务器上(其实是另外一台台式机,不是真正的服务器,win2003,iis)别人访问的时候就出现各种脚本错误,我很郁闷
      

  23.   

    charCodeAt() 方法可返回指定位置的字符的 Unicode 编码
      

  24.   

    啥意思?再明确点可以吗?我不明白,用charCodeAt()会出现什么问题?
      

  25.   

    function GetLength(str)
        {
            var len = 0;
            for(var i = 0; i < str.length; i++) 
            {
              if(str.charCodeAt(i) < 0x80) 
              {
                len++;
              }
              else
              {
                len += 2;
              }
            }
            return len;
        }这个函数没问题啊
    是不是你的非函数代码块中含有return语句,仔细检查下
      

  26.   


    function GetLength(str)
        {
            str=str.toString();
            var len = 0;
            for(var i = 0; i < str.length; i++) 
            {
              if(str.charCodeAt(i) < 0x80) 
              {
                len++;
              }
              else
              {
                len += 2;
              }
            }
            return len;
        }
    你写的方法传入参数的前提是string,原因,你传出的不是string不支持charCodeAt
      

  27.   

    var len = 0;
            for(var i = 0; i < str.length; i++) 
            {
              if(str.charCodeAt(i) < 0x80) 
              {
                len++;
              }
              else
              {
                len += 2;
              }
            }
            return len;
    这个应该没有问题呀...
      

  28.   


    var lblUserName=document.getElementById("lblUserName");
    if(lblUserName)
    {
    lblUserName.innerText = "用户名不允许为空!";//lblUserName.textContent
    }
      

  29.   

    document.all.lblUserName.innerHTML 
    document.all.lblUserName.innerText //效率高得多  
      

  30.   

    12楼的,如果只为了用jquery替换 document.getElementById的话,那我劝你还是别用了。前者的效率比后者慢近10倍。
    但是不可否认jquery是非常优秀的框架,功能绝不限于只有document.getElementById的作用。