คุณสมบัติ acceptCharset ของ Form ใน HTML DOM เกี่ยวข้องกับแอตทริบิวต์ accept-charset ขององค์ประกอบ <form> ใช้สำหรับตั้งค่าและดึงค่า character encoding ของฟอร์ม คืนค่าเป็นสตริง หากไม่ระบุ accept-charset จะคืนค่า "UNKNOWN" หมายถึงใช้ encoding ของเอกสาร HTML ปัจจุบัน
ไวยากรณ์ (Syntax)
การตั้งค่าคุณสมบัติ acceptCharset:
formObject.acceptCharset = character-set
character-set เป็นรายการคั่นด้วย semicolon หรือ space ระบุ encoding หนึ่งหรือหลายค่า ค่าที่ใช้บ่อย: UTF-8, ISO-8859-1
ตัวอย่าง
ตัวอย่างการเปลี่ยน character encoding ของฟอร์ม:
<!DOCTYPE html>
<html>
<head>
<style>
form {
border: 2px solid blue;
margin: 2px;
padding: 4px;
}
</style>
<script>
function changeEnc() {
document.getElementById("FORM1").acceptCharset = "ISO-8859-1";
document.getElementById("Sample").innerHTML = "Character set เปลี่ยนเป็น ISO-8859-1 แทน UTF-8 สำหรับฟอร์มนี้แล้ว";
}
</script>
</head>
<body>
<form id="FORM1" accept-charset="UTF-8">
<label>User Name <input type="text" name="usrN"></label><br><br>
<label>Password <input type="password" name="pass"></label>
</form>
<p>คลิกปุ่มด้านล่างเพื่อเปลี่ยน charset encoding จาก UTF-8 เป็น ISO-8859-1</p>
<button onclick="changeEnc()">CHANGE</button>
<p id="Sample"></p>
</body>
</html>
ผลลัพธ์
เมื่อโหลดหน้าเว็บ ฟอร์มมี accept-charset="UTF-8" และปุ่ม "CHANGE"
เมื่อคลิกปุ่ม "CHANGE" จะเปลี่ยนเป็น ISO-8859-1 และแสดงข้อความยืนยัน
คำอธิบายโค้ด
- สร้างฟอร์ม
id="FORM1"มีaccept-charset="UTF-8"ประกอบช่อง Username และ Password - สร้างปุ่ม "CHANGE" เรียกใช้
changeEnc()เมื่อคลิก - ฟังก์ชัน
changeEnc()ดึงฟอร์ม ตั้งค่า.acceptCharset = "ISO-8859-1"(Latin encoding) - แสดงข้อความยืนยันในย่อหน้า
id="Sample"