html5 的autocomplete属性实现原理

需求背景:将项目中的部分控件,支持联想历史输入内容
查了下,现有html5已有支持,使用autocomplete即可(默认为on打开,想关闭设置为off,使用要求就是form+type为submit的button),如下为官方示例:

<form action="/action_page.php" autocomplete="on">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  E-mail: <input type="email" name="email" autocomplete="off"><br>
  <input type="submit">
</form>

现在也实现了
发现只有第一次进入页面,点击提交后,浏览器的确会记录这次输入的内容。但是如果此时,再次点击提交按钮,浏览器不会记录第二次输入内容。只有刷新页面重新进入才可以。
我也为此测试查询了下,是由于项目内使用的是antd的form,在点击htmlType='submit' 的按钮后,因为页面不会刷新(项目内也的确不应该刷新)导致。
而使用原生的form 与 button ,提交后,浏览器url会进行跳转,那就可以多次点击提交并且记录多个。

我这边也实在查不到相关文档,关于html5对于autocomplete的实现,想着看下怎么实现,我这边点击提交按钮,可以手动将表单中的内容记录到浏览器的历史记录数据中。

所以,有没有前辈可以指点一二,万分感谢~

阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题