基于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 相关文章推荐
用于table内容排序
Jul 21 Javascript
利用js对象弹出一个层
Mar 26 Javascript
javascript smipleChart 简单图标类
Jan 12 Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
Jun 20 Javascript
浅析JQuery UI Dialog的样式设置问题
Dec 18 Javascript
jQuery实现在列表的首行添加数据
May 19 Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 Javascript
jQuery时间轴插件使用详解
Jul 16 Javascript
微信小程序 location API实例详解
Oct 02 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
Jan 07 Javascript
对vue事件的延迟执行实例讲解
Aug 28 Javascript
JS如何生成随机验证码
Mar 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
Zend studio文件注释模板设置方法
2013/09/29 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JavaScript Split()方法
2015/12/18 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
Vue获取页面元素的相对位置的方法示例
2020/02/05 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
Python不规范的日期字符串处理类
2014/06/10 Python
Python中datetime常用时间处理方法
2015/06/15 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python样条插值的实现代码
2018/12/17 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
python属于哪种语言
2020/08/16 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
大学在校生求职信范文
2013/11/21 职场文书
企业新年寄语
2014/04/04 职场文书
给公司的建议书范文
2014/05/13 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书