React中禁止chrome填充密码表单

当 input 的 type="password" 时,chrome浏览器会以 type="password" 为标识记住输入的用户名和密码,

如果chrome用户选择记住密码,chrome会把输入过的用户名、密码填充到表单中;

在React中,以下2中方法都不能解决问题:

1.在表单前增加2个input并隐藏

<input type="text" style="display:none"/>

<input type="password" style="display:none"/>

2.添加 autocomplete="off" 属性

<input type="password" autocomplete="off"/>

React不推崇Dom操作,通过state切换type的值来阻止浏览器的填充行为。


// 初始化state,组建初次渲染时type="text",浏览器不会对表单做填充行为
constructor(props) {
super(props);
this.state = {
type: ‘text‘
};
} ... // 点击表单后,改变type
changeType = () => {
this.setState({ type: ‘password‘ });
} ... render() {
return (
    ...
<Input type={this.state.type} onClick={this.changeType}/>     ...
)
}

React中禁止chrome填充密码表单

标签:表单   struct   off   选择   rom   gety   属性   ops   text

原文地址:http://www.cnblogs.com/hcxwd/p/7239671.html

上一篇:jQuery Tools:Web开发必备的 jQuery UI 库


下一篇:Android学习——在Android中使用OpenCV的第一个程序