基于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设置text的值示例(设置文本框 DIV 表单值)
Jan 06 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
Aug 08 Javascript
node.js中的http.response.setHeader方法使用说明
Dec 14 Javascript
包含中国城市的javascript对象实例
Aug 03 Javascript
JS常用函数和常用技巧小结
Oct 15 Javascript
jQuery实现两个select控件的互移操作
Dec 22 Javascript
angular实现form验证实例代码
Jan 17 Javascript
js实现手机拍照上传功能
Jan 17 Javascript
js学使用setTimeout实现轮循动画
Jul 17 Javascript
vue脚手架搭建项目的兼容性配置详解
Jul 17 Javascript
Postman的下载及安装教程详解
Oct 16 Javascript
Vue实现导航栏的显示开关控制
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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
Symfony控制层深入详解
2016/03/17 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
javascript instanceof,typeof的区别
2010/03/24 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
机电一体化大学生求职信
2013/11/08 职场文书
爱心捐助倡议书
2014/05/19 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
检讨书格式范文
2015/05/07 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
python 如何获取页面所有a标签下href的值
2021/05/06 Python
sql server 累计求和实现代码
2022/02/28 SQL Server