如何使用 CSS 或 JavaScript 禁用表单字段?


可以使用 CSS 和 JavaScript 禁用表单字段。在本文中,我们将学习如何使用 CSS 禁用表单输入字段。

有时我们需要出于各种原因禁用表单字段,例如在某些条件之前阻止用户输入,或出于其他目的。禁用的表单字段表示用户无法与输入字段交互。

禁用表单字段的方法

禁用表单输入字段有两种方法,我们将结合代码示例详细解释每种方法。

使用 CSS 禁用表单字段

要使用 CSS 禁用表单输入字段,我们将使用 CSS pointer-eventopacity 属性。CSS pointer-event 属性控制元素如何响应指针事件,例如鼠标点击、鼠标悬停和鼠标移动。另一方面,CSS opacity 属性控制元素的透明度。不透明度决定隐藏元素的内容可见程度。

示例

在这个示例中,我们将使用上面描述的 CSS 方法禁用表单输入字段。

<!DOCTYPE html>
<html lang="en">
<head>
	<title>Disable Form Fields with CSS</title>
	<style>
		form {
			width: 400px;
			margin: 20px auto;
			padding: 10px;
			border: 1px solid #ccc;
			border-radius: 5px;
		}

		label {
			display: block;
			margin-top: 10px;
		}

		input,
		textarea {
			width: 100%;
			padding: 8px 0;
			border: 1px solid #ccc;
			border-radius: 3px;
		}

		input,
		textarea,
		button {
			pointer-events: none;
			opacity: 0.5;
			background-color: #f5f5f5;
		}
	</style>
</head>

<body>
	<form action="#">
		<label for="name">Name:</label>
		<input type="text" id="name" name="name">

		<label for="email">Email:</label>
		<input type="email" id="email" name="email">

		<label for="message">Message:</label>
		<textarea id="message" name="message"></textarea>

		<button type="submit">Submit</button>
	</form>
</body>

</html>

使用 CSS 和 JavaScript 禁用表单字段

在本节中,我们将使用 CSS pointer-event 和 opacity 属性来禁用表单输入字段。在这里,JavaScript 用于添加名为 .disabled 的类,并且 .disabled 类添加了一些 CSS 样式来禁用输入字段。

示例

在这个示例中,我们将使用上面描述的 CSS 和 JavaScript 方法禁用表单输入字段。

<!DOCTYPE html>
<html lang="en">
    
<head>
    <title>Disable Form Fields with CSS & JS</title>
    <style>
        form {
            width: 400px;
            margin: 20px auto;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }

        label {
            display: block;
            margin-top: 10px;
        }

        input,
        textarea {
            width: 100%;
            padding: 8px 0;
            border: 1px solid #ccc;
            border-radius: 3px;
        }

        input[type="button"] {
            background-color: rgb(44, 157, 48);
        }

        .disabled input,
        .disabled textarea {
            pointer-events: none;
            opacity: 0.5;
            background-color: #f5f5f5;
        }
    </style>
</head>

<body>
    <form id="myForm" action="#"> 
        <label for="name">Name:</label> 
        <input type="text" id="name" name="name"> 
        <label for="email">Email:</label> 
        <input type="email" id="email" name="email"> 
        <label for="message">Message:</label> 
        <textarea id="message" name="message"></textarea> 
        <input type="button" id="disable-field" 
               value="Disable Input Fileds">
    </form>
    <script>
        document.getElementById('disable-field').addEventListener('click', function() {
            const form = document.getElementById('myForm');
            form.classList.toggle('disabled');
        });
    </script>
    
</body>

</html>

更新于: 2024-07-30

330 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告