自动填充不会触发onChange

问题描述 投票:0回答:1

我有一个登录表单,当页面打开时,Chrome会自动填写凭据。然而,onChange事件的input元素没有被触发。

单击页面上的任意位置使它们在valueinput属性中注册,这是我们需要的。我尝试做event.target.click(),没有帮助。

在onChange中,我将值设置为如下状态:

this.setState({ email: event.target.value })

如果email.length === 0,则禁用提交按钮。

因此,即使页面显示凭据已填写,提交按钮仍会显示为禁用。

由于单击任意位置会注册值,因此单击提交按钮也会在提交之前注册它们。所以它完美无缺。

然而,这不是关于时间,场永远不会被填补。当我打开Developer Console并检查时,值字段为空,直到我点击某处。

这里唯一的问题是该按钮看起来已禁用,因为在点击某些内容之前,电子邮件输入值为空。这有一个hacky解决方案吗?

javascript html reactjs dom autofill
1个回答
0
投票

我在这里创建了一个示例应用程序https://codesandbox.io/s/ynkvmv16v

这会解决您的问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.