แอตทริบิวต์เหตุการณ์ oninvalid ใน HTML ถูกกระตุ้นเมื่อฟิลด์ input ไม่ผ่านการตรวจสอบขณะส่งฟอร์มในเอกสาร HTML
ไวยากรณ์
<tagname oninvalid="script"></tagname>
ตัวอย่าง
<!DOCTYPE html>
<html>
<head>
<style>
body { color: #000; height: 100vh; background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) no-repeat; text-align: center; padding: 20px; }
textarea { border: 2px solid #fff; background: transparent; font-size: 1rem; }
::placeholder { color: #000; font-size: 1rem; }
.btn { background: #db133a; border: none; height: 2rem; border-radius: 2px; width: 40%; display: block; color: #fff; outline: none; cursor: pointer; margin: 1rem auto; }
</style>
</head>
<body>
<h1>ตัวอย่างแอตทริบิวต์เหตุการณ์ oninvalid ของ HTML</h1>
<form action="" method="">
<textarea placeholder="ป้อนข้อความที่นี่" oninvalid="invalidFn()" rows='8' cols="50" required></textarea>
<input type="submit" value="ส่ง" class="btn">
</form>
<p>คลิกปุ่ม ส่ง โดยไม่เขียนข้อความใดๆ</p>
<script>
function invalidFn() {
document.querySelector('textarea').style.background = '#db133a6e';
document.querySelector('textarea').setAttribute('placeholder', 'กรุณาป้อนข้อความ');
}
</script>
</body>
</html>
ผลลัพธ์
คลิกปุ่ม "ส่ง" โดยไม่ป้อนข้อความใน text area เพื่อดูการทำงานของ oninvalid
พื้นหลัง textarea จะเป็นสีแดงอ่อนและ placeholder เปลี่ยนเป็น "กรุณาป้อนข้อความ"