如何指定输入元素应被禁用?


在网页上使用表单时,有时需要禁用任何输入字段。例如,防止用户在完成表单中的先前步骤之前不允许使用某些输入字段。这也可以用于防止用户通过禁用表单字段来提交无效数据或虚假数据,直到所有必填字段都已填写。

为了解决上述问题,我们有不同的方法可以用来禁用 HTML 中的输入元素,例如使用“disabled”属性、JavaScript 和 CSS。在本文中,我们将了解如何指定输入元素应被禁用。

无论您是刚起步的 Web 开发人员,还是希望更新知识的经验丰富的开发人员,本文都将为您提供有效禁用网页上输入元素所需的信息。

禁用输入元素的不同方法

方法 1:使用“disabled”属性

禁用 HTML 输入元素的第一种方法,或者我们可以说最简单的方法是使用<input>元素中提供的“disabled”属性。此属性可以添加到任何输入元素,并且会阻止用户与该元素交互。

当输入元素被禁用时,它不能被编辑、选中或作为表单的一部分提交。此属性通常用于向用户指示输入不可用,或防止用户提交无效数据。

语法

以下是使用 input 元素的 disabled 属性禁用输入元素的语法,请使用以下代码 -

<input type="number" name="phone" disabled>

在上面的代码中,我们有一个输入字段,其类型为数字,使用 HTML 中<input>元素的“disabled”属性禁用它。

示例

在此示例中,名为“phone”的输入元素使用<input>元素中提供的属性禁用。使用“disabled”属性禁用输入元素。

<html>
   <head>
      <title>Example to disable the input element using disabled attribute method </title>
   </head>
   <body>
      <h2>Welcome to Tutorialspoint</h2>
      <form>
         <label for="name">Enter your name:</label>
         <input type="text" id="name" name="name">
         <br>
         <label for="phone">Enter your phone number:</label>
         <input type="text" id="phone" name="phone" disabled>
         <br>
         <label for="user">Enter your username:</label>
         <input type="text" id="user" name="user">
         <br>
         <label for="password">Enter your password:</label>
         <input type="password" id="password" name="password">
         <br>
         <input type="add" value="Submit">
      </form>
   </body>
</html>

方法 2:使用 JavaScript

禁用 HTML 输入元素的第二种方法是使用 JavaScript。当需要根据用户输入或其他因素动态禁用元素时,此方法很有用。

使用 JavaScript 方法的一个优点是它允许我们根据用户输入或其他条件动态添加或删除“disabled”属性,因为当需要根据用户操作或其他因素禁用输入元素时,它非常有用。

此方法涉及使用 JavaScript 代码访问输入元素并将其“disabled”属性设置为 true,并且使用相同的语法如下所示。

语法

以下是使用 JavaScript 禁用输入元素的语法,请使用以下代码 -

document.getElementById("disabledInputField").disabled = true;

在上面的代码中,我们有一段 JavaScript 代码,其中输入元素的 ID 为“disabledInputField”,并且“disabled”属性设置为 true。现在,使用此属性,任何 ID 设置为“disabledInputField”的输入元素都将被禁用,不允许用户访问它。

示例

在此示例中,使用 JavaScript 禁用了 id 和 name 为“name”的输入元素。要禁用输入元素,我们有一个名为“Submit”的按钮,并且当单击该按钮时会调用函数“disablename()”,它将“name”输入元素的“disabled”属性设置为 true。

<html>
   <head>
      <title>Example to disable the input element using JavaScript method</title>
      <script>
         function disableName() {
            document.getElementById("name").disabled = true;
         }
      </script>
   </head>
   <body>
      <h2> Welcome to Tutorialspoint </h2>
      <form>
         <label for="name">Enter your name:</label>
         <input type="text" id="name" name="name">
         <br>
         <label for="phone">Enter your phone number:</label>
         <input type="text" id="phone" name="phone">
         <br>
         <label for="user">Enter your username:</label>
         <input type="text" id="user" name="user">
         <br>
         <label for="password">Enter your password:</label>
         <input type="password" id="password" name="password">
         <br>
         <input type="add" value="Submit">
      </form>
   </body>
</html>

方法 3:使用 CSS

在此方法中,我们将使用 CSS 禁用输入元素。禁用输入元素的 CSS 方法涉及使用 CSS 代码以一种让用户清楚地知道他们无法与之交互的方式来设置禁用输入元素的样式。

语法

以下是使用 CSS 禁用输入元素的语法,请使用以下代码 -

input[disabled] {
   opacity: 0.8;
   pointer-events: none;
}

在上面的代码中,我们有一段 CSS 代码,其中输入元素的 disabled 属性设置为 true。在这里,要禁用输入元素,我们将不透明度设置为 0.8,并将 pointer-events 设置为 none,因为这两个 CSS 属性都将启用输入元素被禁用,最终不允许用户访问它。

示例

在此示例中,使用 CSS 禁用了 id 和 name 为“phone”的输入元素。要禁用输入元素,我们使用了 CSS 代码,其中我们将具有“disabled”属性的任何输入元素的不透明度设置为 0.8,并将“pointer-events”属性设置为“none”。CSS 的所有这些属性都将输入元素创建为禁用状态。

<!DOCTYPE html>
<html>
   <head>
      <title>Example to disable the input element using CSS method</title>
      <style>
         input[disabled] {
            opacity: 0.8;
            pointer-events: none;
         }
      </style>
   </head>
   <body>
      <h2> Welcome to Tutorialspoint </h2>
      <form>
         <label for="name">Enter your name:</label>
         <input type="text" id="name" name="name">
         <br>
         <label for="phone">Enter your phone number:</label>
         <input type="text" id="phone" name="phone" disabled>
         <br>
         <label for="user">Enter your username:</label>
         <input type="text" id="user" name="user">
         <br>
         <label for="password">Enter your password:</label>
         <input type="password" id="password" name="password">
         <br>
         <input type="add" value="Submit">
      </form>
   </body>
</html>

结论

在本文中,我们了解了如何禁用输入元素以及不同的方法,包括使用“disabled”属性、JavaScript 和 CSS。在所有三种方法中,<input>元素中提供的“disabled”属性可以防止用户使用输入元素。我们还详细了解了使用 JavaScript 和 CSS 禁用的方法。这里每种方法都有其自身的优缺点,具体取决于项目的需要。

更新于:2023年5月2日

4K+ 阅读量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告