ฉันมีเว็บไซต์เก่าที่มี JQuery 1.7 ซึ่งทำงานได้อย่างถูกต้องจนถึงสองวันที่ผ่านมา ทันใดนั้นปุ่มบางปุ่มของฉันไม่ทำงานอีกต่อไปและหลังจากคลิกปุ่มเหล่านี้ฉันได้รับคำเตือนนี้ในคอนโซล:
การส่งแบบฟอร์มถูกยกเลิกเนื่องจากไม่ได้เชื่อมต่อแบบฟอร์ม
โค้ดที่อยู่หลังการคลิกนั้นเป็นดังนี้:
this.handleExcelExporter = function(href, cols) {
var form = $('<form method="post"><input type="submit" /><input type="hidden" name="layout" /></form>').attr('action', href);
$('input[name="layout"]', form).val(JSON.stringify(cols));
$('input[type="submit"]', form).click();
}
ดูเหมือนว่า Chrome 56 จะไม่สนับสนุนรหัสประเภทนี้อีกต่อไป ไม่ใช่เหรอ ถ้าใช่คำถามของฉันคือ:
- ทำไมสิ่งนี้จึงเกิดขึ้นโดยฉับพลัน? ไม่มีคำเตือนการเลิกใช้งานหรือไม่
- วิธีแก้ไขสำหรับรหัสนี้คืออะไร
- มีวิธีบังคับให้ chrome (หรือเบราว์เซอร์อื่น ๆ ) ทำงานเหมือนก่อนโดยไม่ต้องเปลี่ยนรหัสหรือไม่?
ป.ล. มันไม่ทำงานใน firefox รุ่นล่าสุดเช่นกัน (ไม่มีข้อความ) นอกจากนี้มันไม่ทำงานใน IE 11.0 & Edge! (ทั้งสองโดยไม่มีข้อความใด ๆ )
.submit()
ตัวจัดการjQuery (นอกเหนือจาก.click()
วิธีที่ระบุไว้ข้างต้น)