บทความนี้อธิบายวิธีการแก้ปัญหา JS สำหรับปัญหาที่ปิดการใช้งานของการส่งแบบฟอร์มเว็บ แบ่งปันสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
ตัวอย่างเช่นมีรูปแบบดังนี้
คัดลอกรหัสรหัสดังต่อไปนี้: <form id = "inputform" action = "method action.action.action"
<input name = "pname" type = "text" id = "pname" value = "xxx" size = "20" disabled = "ปิดใช้งาน"/>
<input name = "but" type = "subment" id = "แต่" value = "xxx" size = "20"/>
</form>
เมื่อเราส่งแบบฟอร์มเราไม่สามารถรับข้อมูล PNAME ในพื้นหลังได้เนื่องจากคุณสมบัติของกล่องอินพุตถูกปิดใช้งาน มีวิธีแก้ปัญหาต่อไปนี้สำหรับฟังก์ชั่นนี้:
1. เปลี่ยนแอตทริบิวต์ disabled = "disabled" เป็น readonly = "readonly" แทน ฟังก์ชั่นของมันนั้นเหมือนกันอย่างมากเรณูสามารถรองรับเหตุการณ์ onfocus ได้ (แนะนำให้ใช้)
คัดลอกรหัสรหัสดังต่อไปนี้: <input name = "xxx" id = "xxx" value = "xxx" size = "20" readonly = "readonly"/>>>
2. ใช้ JS เพื่อแก้ไขแอตทริบิวต์ที่ปิดการใช้งานเมื่อส่งแบบฟอร์ม
คัดลอกรหัสรหัสดังต่อไปนี้: <input name = "แต่" type = "ปุ่ม" id = "แต่" value = "xxx" size = "20"/>
<script type = "text/javascript">
ฟังก์ชั่น subment_form () {
// วิธีการเขียน JavaScript
document.getElementById ("pname"). disabled = "";
document.getElementById ("inputform"). ส่ง ();
// วิธีการเขียน jQuery
$ ("#pname"). attr ("ปิดใช้งาน", false);
$ ("#inputform") ส่ง ();
-
</script>
3. รับค่าของ pname ใน JS ส่งผ่านในรูปแบบพารามิเตอร์และแก้ไขค่าการกระทำของแบบฟอร์ม แน่นอนด้วยวิธีนี้คุณต้องแก้ไขรหัสพื้นหลังเพื่อรับพารามิเตอร์ (getParameter);
คัดลอกรหัสดังนี้: <script type = "text/javascript">
ฟังก์ชั่น subment_form () {
// วิธีการเขียน jQuery
var pname = $ ("#pname"). val ();
$ ("#inputform"). attr ("การกระทำ", "shorttermrental.action? panme ="+pname+"& p ="+วันที่ใหม่ ());
$ ("#inputform") ส่ง ();
// วิธีการเขียน JavaScript
var pname = document.getElementById ("pname"). ค่า;
document.getElementById ("pname"). action = "shorttermrental.action? panme ="+pname+"& p ="+วันที่ใหม่ ();
document.getElementById ("pname"). ส่ง ();
-
</script>
เคล็ดลับเล็กน้อย: เมื่อเราเขียนภาษาสคริปต์เรามักจะกระตือรือร้นในการเขียน jQuery เพราะมันกระชับมาก jQuery ห่อหุ้ม JavaScript และใช้การจับคู่นิพจน์ทั่วไปเพื่อให้ได้มาเมื่อใช้ค่า HTML เทียบเท่า
ดังนั้นจึงมีผลต่อประสิทธิภาพอย่างหลีกเลี่ยงไม่ได้ดังนั้นจึงขอแนะนำให้คุณใช้ JavaScript โดยทั่วไปเมื่อมีสคริปต์จำนวนมาก
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน