मेरे पास 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 अब इस तरह के कोड का समर्थन नहीं करता है। है ना? यदि मेरा प्रश्न है:
- ऐसा अचानक क्यों हुआ? बिना किसी आगाह के चेतावनी?
- इस कोड के लिए वर्कअराउंड क्या है?
- क्या किसी भी कोड को बदले बिना क्रोम (या अन्य ब्राउज़र) को पहले की तरह काम करने के लिए मजबूर करने का एक तरीका है?
PS यह नवीनतम फ़ायरफ़ॉक्स संस्करण में (या बिना किसी संदेश के) काम नहीं करता है। इसके अलावा यह IE 11.0 और एज में काम नहीं करता है! (दोनों बिना किसी संदेश के)
.submit()
हैंडलर को भी प्रभावित करता है (.click()
ऊपर बताई गई विधि के अलावा )।