关于在firefoxv23.01浏览器下textarea下输入日文,如果超出一定长度,比如在java script脚本里面设的是输入最大长度是21, 如果输出超过长度21时,会自动清空textarea,哪位同学有好的方法分享一下,谢谢.firefox浏览器脚本

解决方案 »

  1.   

    在 onkeyup,onchange 事件里判断一下长度
      

  2.   

    代码如下,判断中英文都是没有问题的,就是firefox下面输日文有问题, 在谷歌浏览器下面也是没有问题的.function checklen(str)
    {    
         var len = 0;
         for (var i = 0; i < str.length; i++)
         {
             if (str.charCodeAt(i) > 255)
             {
                  len+= 3;
             }
             else
             {
                  len+=1;
             }
         }
         return len;
    }function limit(str, maxlength) 
    {
        var val=str.value;
        var curStr="";
        for(var i = 0; i< val.length; i++)
        {
            curStr += val.charAt(i);
            if (checklen(curStr) > maxlength)
            {
               str.value = val.substring(0,i);
               return;
            }    }
    }  <td rowspan="1" align="center"><textarea id="st_timingmsg1"  name="st_timingmsg1"  maxlength=42    cols="65" rows="2" wrap="virtual"  onpropertychange ="limit(this, 126);"   oninput = "limit(this,126);"></textarea>
      

  3.   

    应该是日文对应的charCodeAt有别于中英文
      

  4.   

    顶一下, 谷歌浏览器输日文控制长度是没有问题,IE的也搞定了,就是firefox下面不行,有做过对日项目的么,熟悉这块的.
      

  5.   

    str.value = val.substring(0,i);