คุณสมบัติ disabledของ input type="number" คืนค่าและกำหนดสถานะการปิดใช้งานช่องกรอกตัวเลข
รูปแบบ (Syntax)
อ่านค่า:
object.disabled
กำหนดค่า:
object.disabled = true | false
ตัวอย่างการใช้งาน
สลับสถานะเปิด/ปิดช่องกรอกตัวเลข:
<!DOCTYPE html>
<html>
<head>
<style>
body { text-align: center; color: #fff; background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) center/cover no-repeat; background: #B39CD0; height: 100vh; }
p { font-weight: 700; font-size: 1.2rem; }
input { width: 35%; border: 2px solid #fff; background-color: transparent; color: #fff; font-weight: bold; padding: 8px; outline: none; }
.btn { background: #008B74; border: none; height: 2rem; border-radius: 2px; width: 35%; margin: 2rem auto; display: block; color: #fff; outline: none; cursor: pointer; }
.show { font-size: 1.5rem; font-weight: bold; }
</style>
</head>
<body>
<h1>ตัวอย่าง Input number disabled</h1>
<p>สวัสดี ใส่วันเกิดของคุณ</p>
<input type="number" class="numberInput">
<button onclick="disEna()" class="btn">Disable/Enable</button>
<div class="show"></div>
<script>
function disEna() {
var numberInput = document.querySelector(".numberInput");
var showMsg = document.querySelector(".show");
showMsg.innerHTML = "";
if (numberInput.disabled === true) {
numberInput.disabled = false;
showMsg.innerHTML = "ก่อนหน้านี้ปิดใช้งาน ตอนนี้เปิดใช้งานแล้ว!";
} else {
numberInput.disabled = true;
showMsg.innerHTML = "ก่อนหน้านี้เปิดใช้งาน ตอนนี้ปิดใช้งานแล้ว!";
}
}
</script>
</body>
</html>
ลักษณะเมื่อ disabled
- ไม่สามารถคลิก กรอก หรือเปลี่ยนค่าได้
- แสดงในสีจาง (grayed out)
- ไม่ส่งค่าเมื่อ submit ฟอร์ม
- CSS
:disabledpseudo-class ใช้จัดสไตล์ได้ - ขึ้น/down spinner จะหายไป
การใช้งานจริง
- ปิดใช้งานจนกว่าจะเลือก checkbox "มีส่วนลด" แล้วค่อยเปิดช่องกรอก % ส่วนลด
- ช่องคำนวณอัตโนมัติ (ราคารวม) ที่ไม่ให้ผู้ใช้แก้ไข
- ป้องกันการแก้ไขจำนวนสินค้าหลังจากกดสั่งซื้อแล้ว