我有一个登录表单,当页面打开时,Chrome会自动填写凭据。然而,onChange
事件的input
元素没有被触发。
单击页面上的任意位置使它们在value
的input
属性中注册,这是我们需要的。我尝试做event.target.click()
,没有帮助。
在onChange中,我将值设置为如下状态:
this.setState({ email: event.target.value })
如果email.length === 0
,则禁用提交按钮。
因此,即使页面显示凭据已填写,提交按钮仍会显示为禁用。
由于单击任意位置会注册值,因此单击提交按钮也会在提交之前注册它们。所以它完美无缺。
然而,这不是关于时间,场永远不会被填补。当我打开Developer Console并检查时,值字段为空,直到我点击某处。
这里唯一的问题是该按钮看起来已禁用,因为在点击某些内容之前,电子邮件输入值为空。这有一个hacky解决方案吗?
我在这里创建了一个示例应用程序https://codesandbox.io/s/ynkvmv16v
这会解决您的问题吗?