jQuery 如何禁用浏览器自动填充输入字段

jQuery 如何禁用浏览器自动填充输入字段

在这篇文章中,我们将学习如何使用jQuery和”input” HTML标签提供的”autocomplete”属性禁用浏览器的自动填充功能。

浏览器自动填充是一种建议过去输入和提交到表单中的值的功能。默认情况下,浏览器中启用了自动填充功能,所以当用户点击输入框时,会显示该输入值的建议,并且用户可以直接选择建议中的任意一项来自动填充内容。

为了禁用这个行为,我们将介绍两种方法,这两种方法都使用了jQuery库和”input” HTML元素中可用的”autocomplete”属性。

方法一

在这个方法中,我们将使用”attr” jQuery方法来为一个输入框HTML元素传递一个值为”off”的”autocomplete”属性,以禁用该输入框的自动填充功能。

示例

让我们通过一个示例检查上述方法:

<html lang="en">
<head>
   <title>How to disable browser autofill on input fields using jQuery?</title>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
   </script>
</head>
<body>
   <h3>How to disable browser autofill on input fields using jQuery?</h3>
   <form id="form">
      <label for="email">Email (With Autocomplete)</label>
      <input type="email" name="email" id="email" />
      <br />
      <label for="firstName">First Name (Without Autocomplete)</label>
      <input type="text" name="firstName" id="firstName" autocomplete="off" />
      <br />
      <label for="lastName">Last Name (Without Autocomplete)</label>
      <input type="text" name="lastName" id="lastName" autocomplete="off" />
      <br />
      <input type="submit" value="Submit" />

      <script>
         (document).ready(function () {("#firstName").attr("autocomplete", "off");
            $("#lastName").attr("autocomplete", "off");
         });
      </script>
   </form>
</body>
</html>

方法二

在此方法中,我们将使用jQuery的“prop”方法在输入HTML元素上传递一个名为“autocomplete”的prop,并将其值设为“off”,以便禁用该输入元素上的自动填充功能。

示例1

让我们通过一个示例来验证上述方法 –

<html lang="en">
<head>
   <title>How to disable browser autofill on input fields using jQuery?</title>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
   </script>
</head>
<body>
   <h3>How to disable browser autofill on input fields using jQuery?</h3>

   <form id="form">
      <label for="email">Email (With Autocomplete)</label>
      <input type="email" name="email" id="email" />
      <br />
      <label for="firstName">First Name (Without Autocomplete)</label>
      <input type="text" name="firstName" id="firstName" autocomplete="off" />
      <br />
      <label for="lastName">Last Name (Without Autocomplete)</label>
      <input type="text" name="lastName" id="lastName" autocomplete="off" />
      <br />
      <input type="submit" value="Submit" />

      <script>
         (document).ready(function () {("#firstName").prop("autocomplete", "off");
            $("#lastName").prop("autocomplete", "off");
         });
      </script>
   </form>
</body>
</html>

示例2

在此示例中,当电子邮件输入字段获得焦点时,我们通过暂时更改其 type 属性来禁用自动填充浏览器功能。

文件名:index.html

<html lang="en">
<head>
   <title>How to disable browser autofill on input fields using jQuery?</title>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
   <h3>How to disable browser autofill on input fields using jQuery?</h3>

   <form id="form">
      <label for="email">Email (With Autocomplete)</label>
      <input type="email" name="email" id="email" />
      <br />
      <label for="firstName">First Name (Without Autocomplete)</label>
      <input type="text" name="firstName" id="firstName" autocomplete="off" />
      <br />
      <label for="lastName">Last Name (Without Autocomplete)</label>
      <input type="text" name="lastName" id="lastName" autocomplete="off" />
      <br />
      <input type="submit" value="Submit" />

      <script>
         (document).ready(function () {("#firstName").prop("autocomplete", "off");
            ("#lastName").prop("autocomplete", "off");
         });

         // Additional example: Temporarily changing the type attribute("#email").focus(function () {
            (this).prop("type", "text");("[type='text']").prop("autocomplete", "off");
         });

         ("#email").blur(function () {(this).prop("type", "email");
            $("[type='text']").prop("autocomplete", "on");
         });
      </script>
   </form>
</body>
</html>

结论

在本文中,我们学习了如何使用jQuery在输入字段上禁用默认的浏览器自动填充行为,共使用了2种不同的方法和3个示例。在第一种方法中,我们使用jQuery的attr方法在“input”标签上应用了“autocomplete”属性,而在第二种方法中,我们使用了jQuery的prop方法在“input”标签上应用了“autocomplete”属性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

jQuery 精选笔记