基于JavaScript实现表单密码的隐藏和显示出来
转载:http://www.jb51.net/article/80326.htm
主要代码:<input type="password" name="pass" id="pwd"/>
<i state="off" id="iState" onclick="aaa()">show</i>
<script type="text/javascript">
function aaa(){
var iState = document.getElementById("iState");
var pwd = document.getElementById("pwd");
var state = iState.getAttribute("state");
if(state === "off") {
pwd.setAttribute("type", "text");
iState.setAttribute("state", "on");
} else {
pwd.setAttribute("type", "password");
iState.setAttribute("state", "off");
}
}
</script>
下面是更详细的
为了网站的安全性,很多朋友都把密码设的比较复杂,但是如何密码不能明显示,不知道输的是对是错,为了安全起见可以把密码显示的,那么基于js代码如何实现的呢? 当用户输入时密码显示为圆点或者星号, 为了确保用户输入的正确, 用户可以点击让密码显示的按钮. 直接就先看节目效果.
界面结构, 一个外层的pass-box, 然后内层加入input 和 一个 i 标签, 且给他们加入相应的class名称.
1
2
3
4
|
<div class= "pass-box" > <input type= "password" name= "pass" /> <i state= "off" ></i> </div> |
现在我们给相应的class加入相应的属性值. 在这个box里, i 需要在input之上, 所以需要给 i 一个position属性, 然后调整其top和right. 然后给其设置宽度和高度,设置其背景图片.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
.pass-box { width: 300px; margin: 30px auto; position: relative; } .pass-box input { border: #cccccc 1px solid; background-color: #fff; color: #666; padding: 10px; width: 100%; box-sizing: border-box; } .pass-box i{ display: inline-block; width: 30px; height: 30px; position: absolute; right: 5px; top:5px; background-image: none; background-size: 200% 200%; background-position: center; } |
这样界面效果完成. 然后给 i 加入点击事件. 在HTML结构中, 我们给了 i 一个状态, 这个作用主要是用于用户两次点击效果的判断. 点击第一次, 密码显示; 点击第二次, 密码隐藏. 重复这样的动作. 所以利用这个state来查看其状态.
重点就在于, 修改input的type属性, 显示的时候type为 text, 隐藏的时候是 password. 所以JS的逻辑处理也是比较清晰.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
var ele_pass_box = document.getElementsByTagName( "div" )[0]; var ele_pass = ele_pass_box.getElementsByTagName( "input" )[0]; var ele_eye = ele_pass_box.getElementsByTagName( "i" )[0]; ele_eye.onclick = function () { var state = this .getAttribute( "state" ); if (state === "off" ) { ele_pass.setAttribute( "type" , "text" ); ele_eye.setAttribute( "state" , "on" ); ele_eye.style.opacity = 0.2; } else { ele_pass.setAttribute( "type" , "password" ); ele_eye.setAttribute( "state" , "off" ); ele_eye.style.opacity = 1; } } |
这就是逻辑代码, 代码量不多. 大家在测试的时候, 注意细节就好.
基于JavaScript实现表单密码的隐藏和显示出来的更多相关文章
- 第一百五十一节,封装库--JavaScript,表单验证--密码确认验证--回答验证--电子邮件验证加自动补全
封装库--JavaScript,表单验证--密码确认验证--回答验证--电子邮件验证加自动补全 效果图 html <div id="reg"> <h2 class ...
- 第一百五十节,封装库--JavaScript,表单验证--密码验证
封装库--JavaScript,表单验证--密码验证 效果图 html <div id="reg"> <h2 class="tuo">& ...
- 第一百五十四节,封装库--JavaScript,表单验证--提交验证
封装库--JavaScript,表单验证--提交验证 将表单的所有必填项,做一个判断函数,填写正确时返回布尔值 最后在提交时,判断每一项是否正确,全部正确才可以 提交 html <div id= ...
- 第一百四十九节,封装库--JavaScript,表单验证--验证用户名
封装库--JavaScript,表单验证--验证用户名 注册验证功能,顾名思义就是验证表单中每个字段的合法性,如果全部合法才可以提交表单. 效果图 聚集光标时 信息不合法是 信息合法时 html &l ...
- 第一百五十三节,封装库--JavaScript,表单验证--备注字数验证
封装库--JavaScript,表单验证--备注字数验证 效果图 html <div id="reg"> <h2 class="tuo"> ...
- 第一百五十二节,封装库--JavaScript,表单验证--年月日注入
封装库--JavaScript,表单验证--年月日注入 效果图 html <div id="reg"> <h2 class="tuo"> ...
- javascript实现表单提交加密
javascript实现表单提交加密 通常表单的提交有两种方式,一是直接通过html的form提交,代码如下: <form action="" method="&q ...
- 项目总结15:JavaScript模拟表单提交(实现window.location.href-POST提交数据效果)
JavaScript模拟表单提交(实现window.location.href-POST提交数据效果) 前沿 1-在具体项目开发中,用window.location.href方法下载文件,因windo ...
- 第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据
封装库--JavaScript,表单序列化结合ajax提交数据 封装库,表单序列化方法 /** xu_lie_biao_dan()方法,表单序列化方法,将自动获取指定表单里面的各项字段name值和va ...
随机推荐
- Visual Studio 2013 编译CEF步骤
If you'd like to build the Chromium Embedded Framework (a wrapper for Chromium, for creating browser ...
- NHibernate系列文章十八:NHibernate关系之一对多(附程序下载)
摘要 这篇文章介绍NHibernate最实用的内容:关系映射. NHibernate的关系映射方式有三种: Set:无序对象集合,集合中每一个元素不能重复. List:有序对象集合,集合中的元素可以重 ...
- 【EF学习笔记06】----------加载关联表的数据 延迟加载
讲解之前,先来看一下我们的数据库结构:班级表 学生表 延迟加载 //延迟加载 using (var db = new Entities()) { //查询班级 var classes = (from ...
- webService访问加密
WebService加密,可以对 WebService设置访问用户名和密码,增强 WebService的安全性 使 WebService只能被授权用户使用. 具体实现步骤: 1. 定义一个 soaph ...
- 指针的指针&指向指针数组的指针
一.指针的指针 指针的指针看上去有些令人费解.它们的声明有两个星号.例如: char ** cp; 如果有三个星号,那就是指针的指针的指针,四个星号就是指针的指针的指针的指针 ...
- 机器学习(四)--- 从gbdt到xgboost
gbdt(又称Gradient Boosted Decision Tree/Grdient Boosted Regression Tree),是一种迭代的决策树算法,该算法由多个决策树组成.它最早见于 ...
- 网络存储技术介绍(1) ( based on zt)
最近由于某同学微信发了一些网络存储的文章,开始感兴趣,稍微收集了一些 一. 网络存储技术 http://ask.zol.com.cn/q/187044.html (yxr:很老的技术介绍吧) 网络 ...
- System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围
GridView指定的参数已超出有效值的范围GridView在更新过程中异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围.参数名:v ...
- Allegro转换PADS终极篇(转载)
Allegro转换PADS终极篇.....http://www.eda365.com/forum.php?mod=viewthread&tid=86947&fromuid=190625 ...
- VS2008中调试dll
1.运行dll实例时,会直接弹出一个小框: 选择可拉起这个dll的exe运行就可以调试了 2.以后每次都会直接运行了,要重新选择程序,弹出上面的框,需要在project-->debugging- ...