input chrome中input自带黄色填充bug

本文深入探讨了信息技术领域的最新趋势,涵盖了从前端到后端,从移动开发到游戏开发等多个方面,提供了丰富的技术细节和实用案例,是了解当前IT行业不可或缺的资料。

 

转载于:https://www.cnblogs.com/vhen/p/9076289.html

<think>嗯,用户想解决在使用element-ui的el-input组件时,当启用show-password属性后,浏览器自动弹出保存密码提示的问题。这个问题我之前在引用内容里看到过,应该可以通过一些属性设置来禁用浏览器的自动填充功能。 首先,根据引用[1],他们提到了通过设置auto-complete为"new-password",以及使用readonly属性来阻止浏览器自动填充。这可能是一个有效的办法。用户可能需要将el-input的auto-complete属性设为"new-password",这样浏览器就不会自动保存密码了。另外,设置输入框初始为只读,然后在焦点事件中取消只读,这样可以避免浏览器自动填充已有的密码信息。 然后,引用[2]提到show-password属性在旧版本可能无效,需要升级element-ui到最新版本。虽然用户的问题不是属性无效,但版本问题也可能影响其他行为,所以建议用户检查版本,确保使用的是最新版,避免兼容性问题。 引用[3]中的方法虽然主要是处理输入数字,但里面提到的通过事件处理来修改输入内容的方法可能对当前问题帮助不大。不过,可以考虑结合类似的事件处理,比如在焦点事件中动态改变属性,防止浏览器触发保存密码的提示。 可能的解决方案步骤:首先,在el-input上添加auto-complete="new-password",阻止自动填充。然后,设置初始的readonly属性为true,当用户点击输入框时,通过@focus事件将readonly设为false。这样,浏览器在页面加载时不会自动填充,因为输入框初始是只读的,用户需要点击后才能输入,此时解除只读状态,允许输入密码。 另外,可能需要检查是否有form标签包裹,如果有的话,在form标签上设置auto-complete="off",这样整个表单的自动填充都会被禁用,增强效果。同时,确保没有其他输入框设置为type="password"而没有处理,可能会影响整个表单的行为。 测试这些方法时需要注意不同浏览器的表现,因为各浏览器对自动填充的处理可能不同。比如Chrome可能会比较积极保存密码,而Firefox可能有不同的机制。所以,可能需要多种方法结合使用,比如同时设置auto-complete和readonly属性,以及在form级别禁用自动完成。 总结下来,关键步骤是设置auto-complete为"new-password",初始只读,焦点事件解除只读,并在外层form禁用自动完成。同时,确认element-ui版本是否最新,避免已知的bug。</think>### 解决方案:禁用浏览器密码提示的两种方法 #### 方法一:通过`auto-complete`和`readonly`属性控制 1. **设置`auto-complete="new-password"`** 此属性会告知浏览器不要自动填充密码,且不触发保存密码的提示框[^1]。 2. **初始状态设为`readonly`** 通过初始化`readonly`为`true`,阻止浏览器识别密码输入框的默认行为。在用户点击输入框时,再动态关闭`readonly`。 ```html <el-form-item label="密码:"> <el-input v-model="password" type="password" show-password auto-complete="new-password" :readonly="readonlyFlag" @focus="handleFocus" ></el-input> </el-form-item> ``` ```javascript data() { return { password: '', readonlyFlag: true }; }, methods: { handleFocus() { this.readonlyFlag = false; } } ``` #### 方法二:在表单级别禁用自动填充 在父级`<el-form>`标签添加`auto-complete="off"`,全局禁用表单的自动填充功能: ```html <el-form :model="formData" auto-complete="off"> <!-- 其他表单项 --> </el-form> ``` #### 注意事项 - **Element-UI版本兼容性** 若`show-password`功能异常,请检查Element-UI版本是否≥2.13.0[^2]。 - **浏览器差异** Chrome可能对`auto-complete="new-password"`更敏感,而Firefox需结合`readonly`才能生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值