如果Mac OS(OS X)上的Safari为<input type =“ password” />

时间:2019-07-04 08:17:12

标签: html reactjs forms safari gatsby

我有以下问题:

我有一个要编辑一些职位发布详细信息的表格。

我在表单中添加了<input type="password" />,该表单应使用用户通过电子邮件接收的一次性密码,以便可以在服务器端进行编辑。

问题如下:

  • 我对帖子进行了修改
  • 我转到密码字段并关注它
  • 当我开始键入内容时,焦点将转移到另一个字段,并且我键入的内容都会添加到该字段的值中。

如果我将密码字段更改为type="text",则一切正常。

仅在Safari和Safari技术预览版中,无论是在正常模式下还是在私密浏览中,都存在此行为。

Chrome和Firefox可以正常工作。

该网站使用Gatsby.js构建-Gatsby.js是在React.js之上构建的静态网站生成器。我怀疑是因为React在表单状态更新(输入值更改)时会重新呈现整个表单,所以Safari会重新初始化其 autocomplete 功能,并且会抢占该领域的焦点。但这只是一个猜测。而且它在Chrome和Firefox中的作用不同。

下面是一段视频,可以更好地直观表达我的意思。

https://d2aztkdj0ezvrk.cloudfront.net/items/1D0X3c1f0145291X0J2L/Screen%20Recording%202019-07-03%20at%2008.36%20PM.mov

谢谢!

0 个答案:

没有答案