asahi
火狐狸
火狐狸
  • UID927
  • 注册日期2004-12-15
  • 最后登录2007-06-24
  • 发帖数296
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:6180回复:4

谁能帮我把这段代码转化为FireFox能够支持的

楼主#
更多 发布于:2004-12-23 09:01
这段代码的目的就是当用户在标题栏输入文字的时候,动态显示目前输入的文字数,当超过相当于25个汉字(50字节)的时候,提醒用户文字过长。

这段代码在IE下面运行正常,在Opera下面只有当文字框失去焦点的时候才能显示出来文字数,也算是基本正常,但是在FireFox下面不能显示。

代码如下:

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE="Javascript">
function getStrLenB(str)
{
num=str.length;
var arr=str.match(/[^\x00-\x80]/ig);
if(arr!=null)
num+=arr.length;
return(num);
}

function CheckLength(inStr,Obj1,Obj2)
{
Str = inStr ;
strLenB = getStrLenB(Str);
Obj1.innerText = strLenB/2 ;
if (strLenB > 50)
Obj2.style.display="inline";
else
Obj2.style.display="none";
return (0) ;
}
</SCRIPT>
</head>

<body>
<form method=post action="#" name="test">
标&&& 题:<input type="text" name="news_subject" id="news_subject" size="80" onPropertyChange="CheckLength(document.getElementById('news_subject').value,document.getElementById('TitleLength'),document.getElementById('checklength'))" onBlur="CheckLength(document.getElementById('news_subject').value,document.getElementById('TitleLength'),document.getElementById('checklength'))"><b>*必需</b></font>
  <p><font color=blue><b>标题长度为<span id="TitleLength">0</span>个汉字</b></font>&<span style="display:none" id="checklength"><font color=red><b>标题过长,将影响页面显示效果</b></font></span></p>
</form>
</body>
</html>
猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2004-12-23 09:01

Obj1.innerText = strLenB/2 ;

中的innerText改成innerHTML。(其实标准里innerHTML也是没有的,不过innerHTML已经是现实标准了)
另外把onPropertyChange改成oninput。
asahi
火狐狸
火狐狸
  • UID927
  • 注册日期2004-12-15
  • 最后登录2007-06-24
  • 发帖数296
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2004-12-23 09:01
谢谢,现在好了。
不过onInput是不是只有FF能支持啊,好像IE和Opera里面都没有用。
猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2004-12-23 09:01
那就把onpropertychange再写一遍。
ifan
小狐狸
小狐狸
  • UID587
  • 注册日期2004-12-06
  • 最后登录2006-03-05
  • 发帖数23
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2004-12-23 09:01
onpropertychange改为onKeyUp
innerText改为innerHTML
游客

返回顶部