คุณสมบัติ enctype ของแบบฟอร์ม HTML เชื่อมโยงกับแอตทริบิวต์ enctype ขององค์ประกอบแบบฟอร์ม คุณสมบัตินี้ตั้งค่าหรือส่งคืนค่าแอตทริบิวต์ enctype ของแบบฟอร์ม แอตทริบิวต์ enctype จะใช้ก็ต่อเมื่อค่าแอตทริบิวต์ method คือ "POST" คุณสมบัติ enctype ใช้สำหรับระบุข้อมูลในแบบฟอร์มที่จะส่งควรเข้ารหัส
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์สำหรับ −
การตั้งค่าคุณสมบัติ enctype -
formObject.enctype = encoding
ในที่นี้ การเข้ารหัสอาจเป็น “application/x-www-form-urlencoded” ซึ่งหมายความว่าอักขระทั้งหมดจะได้รับการเข้ารหัสก่อนที่จะส่ง และนี่คือการเข้ารหัสเริ่มต้น
อีกส่วนหนึ่งคือ “multipart/form-data” ซึ่งระบุว่าไม่ควรเข้ารหัสอักขระใด ๆ และใช้สำหรับอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์
การเข้ารหัสที่สามคือ "ข้อความ/ธรรมดา" และจะแปลงเฉพาะช่องว่างเป็นสัญลักษณ์ "+" เท่านั้น และไม่มีการเข้ารหัสอื่นๆ ไม่ควรใช้การเข้ารหัส text./plain เนื่องจากไม่ปลอดภัย
ตัวอย่าง
ให้เราดูตัวอย่างคุณสมบัติ Form enctype -
<!DOCTYPE html>
<html>
<head>
<style>
form{
border:2px solid blue;
margin:2px;
padding:4px;
}
</style>
<script>
function changeEnc() {
document.getElementById("FORM1").enctype = "application/x-www-form-urlencoded";
document.getElementById("Sample").innerHTML = "The enctype attribute value is now 'application/x-www-form-urlencoded' ";
}
</script>
</head>
<body>
<h1>Form enctype property example</h1>
<form id="FORM1" method="post" enctype="multipart/form-data">
<label>User Name <input type="text" name="usrN"></label> <br><br>
<label>Password <input type="password" name="pass"></label>
</form>
<br>
<button onclick="changeEnc()">CHANGE</button>
<p id="Sample"></p>
</body>
</html> ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

เมื่อคลิกปุ่ม CHANGE -

ในตัวอย่างข้างต้น −
เราได้สร้างแบบฟอร์มด้วย id=“Form1”, method=“post” และตั้งค่า enctype เป็น “multipart/form-data” enctype ระบุประเภทการเข้ารหัสสำหรับข้อมูลในแบบฟอร์ม และในกรณีของเราถูกตั้งค่าเป็น "multipart/form-data" การเข้ารหัสนี้มีประโยชน์สำหรับการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ แบบฟอร์มประกอบด้วยช่องข้อความและช่องรหัสผ่านด้วย
<form id="FORM1" method="post" enctype="multipart/form-data"> <label>User Name <input type="text" name="usrN"></label> <br><br> <label>Password <input type="password" name="pass"></label> </form>
จากนั้นเราได้สร้างปุ่ม CHANGE ที่จะรันเมธอด changeEnc() เมื่อผู้ใช้คลิก -
<button onclick="changeEnc()">CHANGE</button>
เมธอด changeEnc() รับองค์ประกอบของฟอร์มโดยใช้เมธอด getElementById() และตั้งค่าคุณสมบัติ enctype เป็น “application/x-www-form-urlencoded” ซึ่งทำให้อักขระทั้งหมดของเราถูกเข้ารหัสและเป็นการเข้ารหัสแบบ enctype เริ่มต้น การใช้คุณสมบัติ innerHTML ของย่อหน้าที่มีรหัส "ตัวอย่าง" เราจะแสดงการเปลี่ยนแปลงนี้โดยแสดงข้อความให้ผู้ใช้เห็น -
function changeEnc() {
document.getElementById("FORM1").enctype = "application/x-www-form-urlencoded";
document.getElementById("Sample").innerHTML = "The enctype attribute value is now 'application/x-www-form-urlencoded' ";
}