阅读:6525回复:4
谁能帮我把这段代码转化为FireFox能够支持的
这段代码的目的就是当用户在标题栏输入文字的时候,动态显示目前输入的文字数,当超过相当于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> |
|
1楼#
发布于:2004-12-23 09:01
把
Obj1.innerText = strLenB/2 ; 中的innerText改成innerHTML。(其实标准里innerHTML也是没有的,不过innerHTML已经是现实标准了) 另外把onPropertyChange改成oninput。 |
|
2楼#
发布于:2004-12-23 09:01
谢谢,现在好了。
不过onInput是不是只有FF能支持啊,好像IE和Opera里面都没有用。 |
|
3楼#
发布于:2004-12-23 09:01
那就把onpropertychange再写一遍。
|
|
4楼#
发布于:2004-12-23 09:01
onpropertychange改为onKeyUp
innerText改为innerHTML |
|