基于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 相关文章推荐
通过jquery实现tab标签浏览效果
Feb 20 Javascript
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
解析javascript系统错误:-1072896658的解决办法
Jul 08 Javascript
jQuery拖拽div实现思路
Feb 19 Javascript
angularjs指令中的compile与link函数详解
Dec 06 Javascript
JavaScript获取URL汇总
Jun 08 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
简单谈谈原生js的math对象
Jun 27 Javascript
Angular排序实例详解
Jun 28 Javascript
重置Redux的状态数据的方法实现
Nov 18 Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 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 session会话的安全性分析
2011/09/08 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
在JavaScript中使用timer示例
2014/05/08 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
连带责任保证书
2014/04/29 职场文书
遗失说明具结保证书
2015/02/26 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技