关于input type设置password出现黄色背景和默认内容

只要设置了type为password就会出现黄色的背景和默认的内容。


点击password框会出现使用以下项的密码,


有没有觉得很丑,这是谷歌浏览器默认的行为,

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  box-shadow:0 0 0 60px white  inset;
  -webkit-text-fill-color: #878787;
}

在css样式里加上这个就可以kill掉黄色便渍了((⊙o⊙)…)

然后是第二种诡异的样式,试了好几种方法:

第一种:在form表单上加入autocomplete="off" 或者 在输入框中加入autocomplete="off"(这个我没成功,你可以试试)

第二种:

在初始化构建整个页面结构的时候不要出现 <input type="password" /> 元素,可以使用 <input type="text" /> 元素代替。然后为 type="text" 元素增加 onfocus 事件,当事件触发后:
动态把 <input type="text" /> 修改为 <input type="password" />

onFocus={(e) => this.handleChange('oldPassword', e)}
 
  
onChange={(e) => this.handleChange('oldPassword', e)}

handleChange(key, e) {
    if (e.target.value === '') {
        e.target.type = 'text'
    } else{
        e.target.type = 'password';
    }
}

这样子就能保证不会出现“自动填充”和“使用以下项密码”的问题
还有两种方法,只提供思路啊:
1, 两个text输入框,一个作为用户输入的,一个隐藏。输入的把value替换为圆点,隐藏框保持真正的输入值。发送隐藏框的值到后端。
2,type设置为text,然后用伪元素给它盖住,小点点自己根据value的长度设置


这里要注意onchange 事件和keyup事件Backspace键也会生成小点点,它的的ASCII值是8,可以控制一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值