实时显示输入多少个字符的代码

yoken 阅读:1415 2007-10-24 14:29:00 评论:0

以前经常用到这样的功能,现在整理如下:
部分函数可以写进JS文件里面,以方便以后调用。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>留言管理</title>
<link rel="stylesheet" type="text/css" href="css/css.css">
<script language="javascript">
function calc(obj)
{
 remains.innerText = 200-f_GetStringLen(obj.innerText);
 if( f_GetStringLen(document.all('content').innerText)>=200 )
 {
  alert( '留言字数已满(200个字符或100个汉字)');
  event.keyCode=0;
  document.all('content').innerText = f_GetStringLeft(document.all('content').innerText,200)
  remains.innerText = 200-f_GetStringLen(obj.innerText);
  return false;
 }
 
}  

function f_check()
{
 if(!trim(document.all("content").value))
 {
  alert("请输入留言内容!");
  return false;
 } 
 return true;
}
/*
以下可以写个JS文件
*/
function f_StringCheck(ao_Object, as_DisplayStr, abln_AllowNothing , ai_Length)
{
 var ls_Value;
 ls_Value = f_PubStrTrim(ao_Object.value);
 if(abln_AllowNothing == false)
 {
  if(ls_Value == "")
  {
   alert(as_DisplayStr + "不能为空!");
   ao_Object.focus();
   return false;
  }
 }
 if(ls_Value.indexOf("'") > -1 || ls_Value.indexOf('"') > -1)
 {
  alert(as_DisplayStr + "不能有单双引号!");
  ao_Object.focus();
  return false;
 }
 if (typeof(ai_Length) != "undefind")
 {
  if(f_GetStringLen(ls_Value) > ai_Length){
   alert(as_DisplayStr + "的最大长度为" + ai_Length + "(汉字" + ai_Length/2 + ")");
   ao_Object.focus();
   return false;
  }
 }
 return true;
}


function f_GetStringLen(as_Value)
{
 var li_Loop, li_Len;
 li_Len = 0;
 for(li_Loop = 0; li_Loop < as_Value.length; li_Loop++)
 {
  if( as_Value.charCodeAt(li_Loop) > 255)
   li_Len = li_Len + 2;
  else
   li_Len ++;
 }
 return li_Len;
}

function f_GetStringLeft(as_Value,x)
{
 var li_Loop, li_Len, li_Left, leftx;
 li_Len = 0;
 for(li_Loop = 0; li_Loop < as_Value.length; li_Loop++)
 {
  if( as_Value.charCodeAt(li_Loop) > 255)
   li_Len = li_Len + 2;
  else
   li_Len ++;
  if(li_Len<=x)
   li_Left = li_Loop;
  if(li_Len>x)
   break;
 }
 if(li_Len>x && x!=0)
  leftx = as_Value.substr(0,li_Left);
 else
  leftx = as_Value;
  
 return leftx;
}
</script>
</head>
<body>
<table width="400" height="372" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#9DBFEE">
<tr>
 <td height="22" align="center" valign="middle" bgcolor="#D6E7F8" width="400">新 建 留 言</td>
</tr>
<tr>
 <td height="22" align="left" valign="middle" bgcolor="#EBEBEB" width="400">您好,欢迎使用个人短信管理。</td>
</tr>
<tr>
 <td align="center" bgcolor="#FFFFFF" valign="top">
 <br>
<form name="form1" method="post" action="" onsubmit="return f_check();">
 <table width="100%" height="216" border="0" cellpadding="3" cellspacing="1">
        <tr>
   <td width="64" align="right">收件人:</td>
   <td width="319" align="left">
   <input name="tousername" type="text" id="tousername" size="20" maxlength="12">
    </td>
  </tr>
  <tr>
   <td height="191" align="right">内 容:</td>
   <td align="left"><font color="#990000">最多可以输入200个字符,您还可以输入<span id="remains" style="color:#FF0000">200</span>个字符。</font>
   <br><textarea name="content" id="content" cols="40" rows="10" onKeyUp="calc(this)"></textarea></td>
  </tr>
  
  <tr align="center">
   <td colspan="2">
     <input type="submit" name="submit" value="发 送">
   </td>
  </tr>
 </table>
</form>
</td>
</tr>
</table>
</body>
</html>

转载保留链接!网址:https://80920140.com/post/138.html

标签:运营商
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容