我有一个登录表单,当页面打开时,Chrome会自动填写凭据。然而,input
元素的onChange
事件并没有被触发。
点击页面上任何位置都会将它们注册到input
的value
属性中,这正是我们需要的。我尝试使用event.target.click()
,但没起作用。
在onChange
中,我将值设置到状态(state)中:
this.setState({ email: event.target.value })
如果email.length === 0
,则提交按钮将被禁用。
因此,即使页面显示凭据已填写,提交按钮仍然看起来是禁用的。
由于单击任何地方都会注册值,单击提交按钮也会在提交之前注册它们。 因此,它运行得很完美。
这不是关于时间的问题,该字段永远不会填充。 当我打开开发人员控制台进行检查时,值字段为空,直到我单击某个位置。
这里唯一的问题是,按钮看起来被禁用,因为除非单击某个东西,否则电子邮件输入值为空。 是否有一个巧妙的解决方案?