บทความนี้อธิบายวิธีการของ JavaScript เพื่อตรวจสอบว่าผู้ใช้ได้แก้ไขแบบฟอร์มหรือไม่ แบ่งปันสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
รหัส JS นี้สามารถกำหนดได้ว่าผู้ใช้ได้แก้ไขเนื้อหาฟอร์มหรือไม่ หากแบบฟอร์มได้รับการแก้ไขและออกจากเบราว์เซอร์มันจะเตือนผู้ใช้ว่าจะบันทึกเนื้อหาฟอร์มหรือไม่ เป็นรหัสที่มีประโยชน์มาก
ฟังก์ชั่น formisdirty (แบบฟอร์ม) {สำหรับ (var i = 0; i <form.elements.length; i ++) {var element = form.elements [i]; var type = element.type; if (type == "ช่องทำเครื่องหมาย" || type == "Radio") {ถ้า (element.checked! = element.defaultChecked) {return true; }} else ถ้า (type == "hidden" || type == "รหัสผ่าน" || type == "text" || type == "textarea") {ถ้า (element.value! = element.defaultValue) {return true; }} อื่นถ้า (type == "select-one" || type == "select-multiple") {สำหรับ (var j = 0; j <element.options.length; j ++) {ถ้า (element.options [j]. selected! }}} return false;}ตัวอย่างการใช้งาน: เมื่อออกจากเบราว์เซอร์หากผู้ใช้แก้ไขแบบฟอร์มผู้ใช้จะได้รับการเตือนว่าจะบันทึกหรือไม่
window.onbeforeunload = function (e) {e = e || window.event; if (formisdirty (document.forms ["someform"])) {// สำหรับ IE และ firefox ถ้า (e) {e.returnValue = "คุณมีการเปลี่ยนแปลงที่ไม่ได้บันทึก"; } // สำหรับการส่งคืน Safari "คุณมีการเปลี่ยนแปลงที่ไม่ได้บันทึก"; -นี่คือรหัสตัวอย่างที่สมบูรณ์
การคัดลอกรหัสมีดังนี้: คลิกที่ปุ่มด้านล่าง ตอนนี้เปลี่ยนค่าบางอย่างในรูปแบบและคลิกปุ่มอีกครั้ง
<form name = "fooform">
<อินพุต type = "text" name = "t"> <br>
<input type = "text" name = "2" value = "default"> <br>
<select name = "Some">
<ตัวเลือกค่า = "fooo" เลือก = ""> foo </potion>
<ตัวเลือกค่า = "bar"> bar </potion>
</เลือก> <br>
</form>
<ปุ่ม onclick = "การแจ้งเตือน (formisdirty (document.fooform))" คลิกเพื่อตรวจสอบว่าฟอร์มสกปรก </utble>
<br>
<script>
ฟังก์ชั่น formisdirty (รูปแบบ) {
สำหรับ (var i = 0; i <form.elements.length; i ++) {
องค์ประกอบ var = form.elements [i];
var type = element.type;
if (type == "ช่องทำเครื่องหมาย" || type == "Radio") {
if (element.checked! = element.defaultChecked) {
กลับมาจริง;
-
-
อื่นถ้า (type == "ซ่อน" || type == "รหัสผ่าน" ||
type == "text" || type == "textarea") {
if (element.value! = element.defaultValue) {
กลับมาจริง;
-
-
อื่นถ้า (type == "select-one" || type == "select-multiple") {
สำหรับ (var j = 0; j <element.options.length; j ++) {
if (element.options [j] .Selected! =
element.options [j] .defaultselected) {
กลับมาจริง;
-
-
-
-
กลับเท็จ;
-
</script>
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน