基于jquery的inputlimiter 实现字数限制功能


Posted in Javascript onMay 30, 2010

看下效果图:
基于jquery的inputlimiter 实现字数限制功能
源代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Input Limiter Demo</title> 
<link rel="stylesheet" type="text/css" href="jquery.inputlimiter.1.0.css" /> 
<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="jquery.inputlimiter.1.2.js"></script> 
<style type="text/css"> 
body { 
font-family: verdana; 
} 
#limitingtext { 
color: #333; 
font-size: 90%; 
} 
</style> 
<script type="text/javascript"> 
function create_xmlDoc(){ 
var xmlDoc = null; 
try //Internet Explorer 
{ 
xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
} 
catch(e) 
{ 
try //Firefox, Mozilla, Opera, etc. 
{ 
xmlDoc=document.implementation.createDocument("","",null); 
} 
catch(e) 
{ 
alert(e.message); 
return; 
} 
} 
return xmlDoc; 
} $(document).ready(function() { 
var xmlDoc = create_xmlDoc(); 
xmlDoc.async=false; 
xmlDoc.load("test.xml"); 
var x=xmlDoc.getElementsByTagName("channel"); 
for( var i=0; i<x.length; i++ ){ 
if(x[i].getAttribute("CID") == '1'){ 
num = x[i].childNodes[0].getAttribute("fNum"); 
strfield = x[i].childNodes[0].getAttribute("FID"); 
//为每个自定义字段绑定字数限制功能 
$("#"+strfield).inputlimiter({ 
limit: num, 
remText: '你还能输入 %n 个字', 
remFullText: '你输入的字数已超过限制数值', 
limitText: '' 
}); 
//$("#hidNum").val(num); 
} 
} 
$("#SendLimiter").click(function(){ 
if($("#Num").val().length==0){ 
alert("限制字数不能为空!"); 
return; 
} 
if(isdigit($("#Num").val())==0){ 
alert("请输入数字!"); 
return; 
} 
$.ajax({ 
url:'SaveLimiter.asp', //后台处理程序 
type:'Post', //数据发送方式 
data:"Num=" + $("#Num").val() + "&ChannelID=1"+"&Field="+$("#sel").val(), //要传递的数据 
success:update_page, //回传函数(这里是函数名) 
error:errorInfo 
}); 
}); 
//回传函数实体,参数为XMLhttpRequest.responseText 
function update_page (data) { 
//alert(data); 
alert("提交成功!"); 
} 
function errorInfo(data){ 
alert("提交失败!"+data.responseText); 
} 
//判断输入值是否是数字 
function isdigit(s){ 
var r,re; 
re = /\d*/i; //\d表示数字,*表示匹配多个数字 
r = s.match(re); 
return (r==s)?1:0; 
} 
}); 
</script> 
</head> 
<body> 
<h1>字数限制功能列子</h1> 
<form > 
<fieldset> 
<legend>字数限制</legend> 
标题:<input type="text" id="TITLE" size="50" style="border: 1px solid gray"/><br /> 
自定义字段1:<input type="text" id="ceshi1" size="50" style="border: 1px solid gray"/><br /> 
自定义字段2:<input type="text" id="ceshi2" size="50" style="border: 1px solid gray"/><br /> 
</label><br /><br /> 
<label>字数限制设置: 
<select id="sel"> 
<option value="TITLE">标题</option> 
<option value="ceshi1">自定义字段1</option> 
<option value="ceshi2">自定义字段2</option> 
</select> 
<input type="text" class="cmsField" style="width:80px" id="Num"><input type="button" value="提交" id="SendLimiter"> 
</fieldset> 
</form> 
</body> 
</html>

这里的限制字数是动态设置的,所以配置了一个ASP页面和一个XML文件

ASP

<% 
num = Trim(Request("Num")) '字数限制值 
channelid = Trim(Request("ChannelID")) '频道ID 
sfield = Trim(Request("Field")) '需设定的字数限制值的字段 set objDom = server.CreateObject("MicroSoft.XMLDom") 
objDom.load(Server.MapPath("test.xml")) 
Set objNode = objDom.documentElement 
'节点长度 
newint=objNode.ChildNodes.length-1 
for i=0 To newint 
'节点id属性 
set objarr=objNode.ChildNodes.item(i) 
if ( objarr.Attributes.item(1).Text = channelid) then 
if( objarr.ChildNodes.item(0).Attributes.item(1).Text = sfield ) then 
'直接定位到节点的ID下属性的内容 
objDom.getElementsByTagName("channel").item(i).childNodes.item(0).Attributes.item(2).Text = num 
exit for 
end if 
end if 
set objarr = Nothing 
next 
objDom.save(Server.MapPath("test.xml")) 
set objNode = Nothing 
Set objDom = Nothing 
%>

XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<TurboCMSXML> 
<channel cName="测试频道1" CID="1"> 
<Field fName="标题" FID="TITLE" fNum="20"/> 
</channel> 
<channel cName="测试频道1" CID="1"> 
<Field fName="自定义字段1" FID="ceshi1" fNum="20"/> 
</channel> 
<channel cName="测试频道1" CID="1"> 
<Field fName="自定义字段2" FID="ceshi2" fNum="200"/> 
</channel> 
<channel cName="首页2" CID="2"> 
<Field fName="测试2" FID="ceshi2" fNum="20"/> 
</channel> 
<channel cName="首页3" CID="3"> 
<Field fName="测试3" FID="ceshi3" fNum="10"/> 
</channel> 
<channel cName="首页4" CID="4"> 
<Field fName="测试4" FID="ceshi4" fNum="20"/> 
</channel> 
</TurboCMSXML>
Javascript 相关文章推荐
图片按比例缩放函数
Jun 26 Javascript
JSON格式化输出
Nov 10 Javascript
javascript去除空格方法小结
May 21 Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 Javascript
javascript加减乘除的简单实例
Jul 12 Javascript
jQuery选择器实例应用
Jan 05 Javascript
微信小程序 JS动态修改样式的实现代码
Feb 10 Javascript
Vue异步组件使用详解
Apr 08 Javascript
JavaScript获取用户所在城市及地理位置
Apr 21 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
Sep 19 Javascript
Vue.js实现备忘录功能
Jun 26 Javascript
js实现自动锁屏功能
Jun 02 Javascript
JQuery Easyui Tree的oncheck事件实现代码
May 28 #Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
May 27 #Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 #Javascript
Javascript 设计模式(二) 闭包
May 26 #Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
May 26 #Javascript
js escape,unescape解决中文乱码问题的方法
May 26 #Javascript
javascript 异步页面查询实现代码(asp.net)
May 26 #Javascript
You might like
编写自己的php扩展函数
2006/10/09 PHP
PHP数据类型之整数类型、浮点数的介绍
2013/04/28 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
vue获取当前激活路由的方法
2018/03/17 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
numpy排序与集合运算用法示例
2017/12/15 Python
Python登录注册验证功能实现
2018/06/18 Python
python使用turtle库绘制时钟
2020/03/25 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
实习评语
2013/12/16 职场文书
村班子对照检查材料
2014/08/18 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
现实表现材料范文
2014/12/23 职场文书
关于MySQL中的 like操作符详情
2021/11/17 MySQL