输入元素应具有自动填充属性

时间:2019-03-03 15:22:24

标签: javascript php jquery google-chrome

我在控制台中收到此消息,我听不懂。请调查一下

    <!DOCTYPE html>
<html>
<head>
    <title>registration page</title>
        <script src="js/jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
        $('form').submit(function(event){
    "use strict";
        var valid = true,
        message = '';    
            $('.error').remove();           
   $('form input').each(function() {
        var $this = $(this);   
        if(!$this.val()) {
            message='';
            var inputName = $this.attr('name');
            valid = false;
            message += 'Please enter your ' + inputName + '\n';
            $(this).closest('div').append('<div class="error">'+message+'</div>');           
        }
})
           if(!valid){
                event.preventDefault();
        }else{
$('form').serialize()
        }
})
})
    </script>
</head>
<body>
<form>
<div>
    <label>Name</label>
    <input type="text" name="name"><br>
</div>
<div>
    <label>File</label>
    <input type="file" name="file"><br>
</div>
<div>
    <label>password</label>
    <input type="password" name="password"><br>
</div>
<button type='submit'>Submit</button>
</form>
</body>
</html>

问题是尽管没有错误,我仍然收到此消息

[DOM] Input elements should have autocomplete attributes (suggested: "current-password"): 

已在控制台中向我提供了google链接,可将我带到(More info: goo.gl/9p2vKq)

6 个答案:

答案 0 :(得分:2)

尝试将<input type="password" name="password">更改为<input type="password" name="password" autocomplete="on">

Autocomplete使Web开发人员可以指定用户代理在填写表单字段值时必须提供自动协助(如果有任何权限)以及向浏览器提供有关该字段中预期信息类型的指南。 / p>

它非常强大。

答案 1 :(得分:1)

它是镀铬的。 这是为了确保浏览器和扩展程序的密码管理功能可以通过添加少量元数据来丰富您的HTML,从而了解您网站的注册,登录和更改密码形式。

这可能对您有帮助https://www.chromium.org/developers/design-documents/form-styles-that-chromium-understands

答案 2 :(得分:1)

关闭自动完成功能

您具有以下格式的以下options for working with errors 输入元素应具有自动完成属性 ,控制台可以通过修改以下内容来抛出:

<input type="password" name="password">
  1. autocompleteoff处将<form>属性设置为<input>
    • 强制浏览器不存储任何数据
    • 禁用会话历史记录中的表单数据缓存
<input type="password" name="password" autocomplete="off">
  1. 防止浏览器自动填充的另一种方法是:
    以下建议是针对浏览器的
<input type="password" name="password" autocomplete="new-password"> <!-- For Mozilla-->
<!-- or -->
<input type="password" name="password" autocomplete="current-password"> <!-- For Chrome-->

答案 3 :(得分:1)

TypeScript 3.9导致我使用autoComplete-大写的“ C”

答案 4 :(得分:0)

React with Bootstrap 还要求我使用带有大写字母“C”的 autoComplete。

答案 5 :(得分:0)

来自Chromium Projects' Design Documents

<块引用>

自动完成属性可帮助密码管理器推断表单中字段的用途,避免意外保存或自动填充错误数据。

您可以在需要由密码管理器管理的 HTML 元素上使用 autoComplete 属性来自动填充其值。 autoComplete 属性的值取决于您想要向密码管理器传达更多信息的字段。考虑以下示例:

  1. 当前密码字段 - autoComplete="current-password"
  2. 新密码字段 - autoComplete="new-password"
  3. 信用卡字段 - autoComplete="cc-number"