表单增强与验证——多行文本(字符计数器)
来源:互联网 发布:战略管理书籍推荐知乎 编辑:程序博客网 时间:2024/06/05 07:16
HTML
<form name="two-thirds column" action="" method="post"> <label for="bio">Short Bio (up to 140 characters)</label> <textarea name="bio" id="bio" rows="5" cols="30"></textarea> <span id="bio-count" class="hide"></span></form> <script src="js/utilities.js"></script> <script src="js/input-type.js"></script>
// Helper function to add an event listenerfunction addEvent (el, event, callback) { if ('addEventListener' in el) { // If addEventListener works el.addEventListener(event, callback, false); // Use it } else { // Otherwise el['e' + event + callback] = callback; // CreateIE fallback el[event + callback] = function () { el['e' + event + callback](window.event); }; el.attachEvent('on' + event, el[event + callback]); }}// Helper function to remove an event listenerfunction removeEvent(el, event, callback) { if ('removeEventListener' in el) { // If removeEventListener works el.removeEventListener(event, callback, false); // Use it } else { // Otherwise el.detachEvent('on' + event, el[event + callback]); // Create IE fallback el[event + callback] = null; el['e' + event + callback] = null; }}
input-type.js
(function () { var bio = document.getElementById('bio'), // <textarea> element bioCount = document.getElementById('bio-count'); // Character count el addEvent(bio, 'focus', updateCounter); // Call updateCounter() on focus addEvent(bio, 'input', updateCounter); // Call updateCounter() on input addEvent(bio, 'blur', function () { // On leaving the element if (bio.value.length <= 140) { // If bio is not too long bioCount.className = 'hide'; // Hide the counter } }); function updateCounter(e) { var target = e.target || e.srcElement; // Get the target of the event var count = 140 - target.value.length; // How many characters are left if (count < 0) { // If less than 0 chars free bioCount.className = 'error'; // Add class of error } else if (count <= 15) { // If less than 15 chars free bioCount.className = 'warn'; // Add class of warn } else { // Otherwise bioCount.className = 'good'; // Add class of good } var charMsg = '<b>' + count + '</b>' + ' characters'; // Message to display bioCount.innerHTML = charMsg; // Update the counter element }}());
0 0
- 表单增强与验证——多行文本(字符计数器)
- 表单增强与验证——提交表单(处理submit事件以及获取表单的值)
- 表单增强与验证——更改输入框类型(显示密码)
- 表单增强与验证——提交按钮(禁用提交按钮)
- 表单增强与验证——复选框(选中All复选框)
- 表单增强与验证——选择框(联动选择框)
- 多行文本框长度验证
- 表单增强与验证——单选按钮(other单选按钮和text的结合)
- 单行文本框与多行文本框
- 表单元素之button元素、textarea多行文本元素
- 小技巧 —— 多行文本尾部以“...”缩略
- 验证多行文本框输入长度的正则表达式
- 多行文本框限制输入字符数TextBox
- 利用JS限制多行文本框字符输入个数
- 限制多行文本输入字符限制和显示
- 多行文本框的字符数限制
- Javascript限制多行文本输入框的字符数
- Javascript限制多行文本输入框的字符数
- 上周学习总结
- 在ubuntu中gsettings的命令使用及查找到系统挂起的未活动的超时时间的值的获取方法
- 背包dp训练总结
- Linux服务器jdk,tomcat配置
- jQuery Validation Engine 表单验证
- 表单增强与验证——多行文本(字符计数器)
- Java8-Stream使用实战
- CentOS下将php和mysql命令加入到环境变量中的几种方法
- OpenGL 常见方法解析
- linux安装apache、mysql、php指导
- java开发 互联网校招 技术要求
- openwrt增加密码及ssh的方法
- Python入门:文件类型判断
- 解决Cannot change version of project facet Dynamic web module to 3.0