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

cssweb developmentfront end technology更新于 2024/5/15 6:04:17

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

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

无论您是刚入门的 Web 开发者,还是希望复习知识的资深开发者,本文都将为您提供有效禁用网页输入元素所需的信息。

禁用输入元素的不同方法

方法 1:使用"disabled"属性

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

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

语法

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

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

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

示例

在此示例中,使用 <input> 元素中可用的属性禁用了名称为"phone"的 input 元素。"disabled"属性用于禁用该 input 元素。

<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>

方法二:使用 JavaScript

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

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

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

语法

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

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

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

示例

在此示例中,使用 JavaScript 禁用了 ID 和名称均为"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;
}

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

示例

在此示例中,id 和 name 均为"phone"的输入元素已使用 CSS 禁用。为了禁用输入元素,我们使用了 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 禁用输入元素的方法。每种方法都有其优缺点,具体取决于项目的需求。


相关文章


有用资源