浏览器防止自动代填和回显已经保存的账号的解决方案

最近遇到客户出的难题,登录和密码框不要自动代填已经保存过的密码,本以为在输入框加个

<input type="text" name="login_name" value="" autocomplete="off" placeholder="请输入用户名"/>

 

就完事,没想到这个只能屏蔽历史输入,已保存的用户信息在火狐浏览器还是如此的倔强,如图所示:

还是要回显提示,已经存过的其他账号,网上溜达了一圈,还是没有一个明明白白的答案,后来经过反复调试,

发现输入框是文本和password类型就会触发火狐浏览器的自动回显,

网上也给过在输入框上加上onfocus事件来更改输入框类型的方案:

<input type="text" onfocus="this.type=password" />

  

但逻辑还是不够严密,我输错了密码再回删,它又会回显出来,表单提交后刷新也会,最后经过不断尝试,给出的解决方案如下:

//当把登录输入框和密码输入框的type设置为search是不会触发的
<input type="search" name="login_name" value="" autocomplete="off" placeholder="请输入用户名"/>
<input type="search" id="password"name="login_passwd" value="" autocomplete="off" placeholder="请输入密码"/>
...
//
<script type="text/javascript">
        $(document).ready(function() {
           //表单刷新后,页面初始化时重新将密码框的类型改为search
           //此处要用js原生代码,jQuery没有权限更改input框的type属性
           document.getElementById(‘password‘).setAttribute(‘type‘,‘search‘);
        });
       //通过密码框输入的值长度来设置它的类型
       //防止密码回删后的回显
        jQuery("#password").bind("keyup",function(){
        var self=this;
        //加延时的目的是等keyup事件执行完
        $.setTimeout(function () {
        var len = $(self).val().length;
        if(len==0){
            document.getElementById(‘password‘).setAttribute(‘type‘,‘search‘);
        }else {
            document.getElementById(‘password‘).setAttribute(‘type‘,‘password‘);
        }
    }, 1);
});

</script>

  

原文地址:https://www.cnblogs.com/mrwh/p/11220806.html

时间: 2024-10-06 04:42:23

浏览器防止自动代填和回显已经保存的账号的解决方案的相关文章

vue 运用ElementUI,做select下拉框回显

第一.加载的顺序,应该先加载下拉框要选择的数据,然后在通过编辑查询数据后回显. 第二.要保证select下拉的ID和v-model里边的id保持一致. 第三.elementUI就会自动的将数据回显了. 一下是截图:

struts JSP表单数据的显示和回显

1.链接 1)<a href="${pageContext.request.contextPath}/visit/add.action  /> 2)<a href="${pageContext.request.contextPath }/customer/edit?cust_id=<s:property value="#customer.cust_id" />" onclick="return window.conf

使用Dropzone上传图片及回显演示样例

一.图片上传所涉及到的问题 1.HTML页面中引入这么一段代码 <div class="row"> <div class="col-md-12"> <form dropzone2 class="dropzone" enctype="multipart/form-data" method="post"></form> </div> </div&

spring mvc 数据回显

1.spring mvc自动将传入的pojo数据存入request域 request中的key是该pojo类名,首字母小写. JSP controller 第一次访问user.jsp 填写表单 点击提交后. 2.@ModelAttribute a.可以制定spring mvc自动传入的pojo的可以.接上面例子,如下. jsp controller b.将方法的返回值到request域 在访问这个controller的mapping的时,会将@Mapping方法的返回值放在request域 以下

EXTJS下拉树ComboBoxTree参数提交及回显方法

http://blog.csdn.net/wjlht/article/details/6085245 使用extjs可以构造出下拉数,但是不方便向form提交参数,在此,笔者想到一个办法,很方便ComboBoxTree向form提交. 原理: 在form中增加一个隐藏的字段,当在comboBoxTree中选定值后自动在隐藏字段中赋值. 为实现此方法,需要重载comboBoxTree中collapse事件方法. Ext.ux.ComboBoxTree = function(){    this.t

sql回显注入-笔记

拼接sql命令查询数据 注释 常用于sql注入 # 井号 单行注释 注意:URL编码 %23 -- 两个减号加空格 单行注释 /*  */    注释一个区域 注意!在sql注入遇到单引号被转译的情况可以使用 HEX编码 绕过单引号的使用 注入测试poc 1 or 1=1 1' or '1=1 1" or "1=1 sql注入用法 查看表单字段数(列数) 使用二分法   order by 列数   排序 确定回显点 XXX' union select 1,2; http://192.1

提交表单数据,List的回显。注意类型对应。

(1) 此处为jsp设置页面: 此处为修改数据回显页面:此处回显就是List<>集合的好处,会自动回显.(不是String[]集合,它不方便回显) 注意:上面两表中的字段类型要匹配,不然set方法放不进去. 提交后显现页面如下:

7、struts2 案例( 模型驱动、 防止表单重复提交--拦截器 、数据回显 、值栈 、 OGNL表达式综合运用)

struts2 案例 技术点: 模型驱动 防止表单重复提交–拦截器 数据回显 值栈 OGNL表达式 通配符.路径匹配原则.常量 数据处理的集中方式 请求数据自动封装以及类型转换 1.导包 c3p0-0.9.1.2.jar commons-dbutils-1.6.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.j

springmvc学习笔记(15)-数据回显

springmvc学习笔记(15)-数据回显 springmvc学习笔记15-数据回显 pojo数据回显方法 简单类型数据回显 本文介绍springmvc中数据回显的几种实现方法 数据回显:提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面. pojo数据回显方法 1.springmvc默认对pojo数据进行回显. pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写) 使用@ModelAttribute