Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

แบบฟอร์ม HTML DOM enctype คุณสมบัติ


คุณสมบัติ 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>

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

แบบฟอร์ม HTML DOM enctype คุณสมบัติ

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

แบบฟอร์ม HTML DOM enctype คุณสมบัติ

ในตัวอย่างข้างต้น −

เราได้สร้างแบบฟอร์มด้วย 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' ";
}