我有一个登录表单,当页面打开时,Chrome 会自动填写凭据。然而,onChange事件input元素的没有被触发。
单击页面上的任意位置使它们注册到 的value属性中input,这正是我们所需要的。我试着做event.target.click(),但没有帮助。
在 onChange 中,我将值设置为如下状态:
this.setState({ email: event.target.value })
Run Code Online (Sandbox Code Playgroud)
如果email.length === 0.
因此,即使页面显示凭据已填写,提交按钮仍然看起来被禁用。
因为点击任何地方都会注册这些值,所以点击提交按钮也会在提交之前注册它们。所以它完美地工作。
但这与时间无关,领域永远不会被填满。当我打开开发者控制台并检查时,值字段为空,直到我单击某处。
这里唯一的问题是按钮看起来被禁用,因为电子邮件输入值在单击某些内容之前为空。有没有解决这个问题的hacky解决方案?